virtual void updateRoot(NodePtr root) { if (root == _root) return; if (_root) _root->data()->removeProvider(_data); _root = root; if (_root) _root->data()->addProvider(_data); }
NodePtr* list_search(Student<NodePtr>& head_ptr, const Item& target) // Library facilities used: cstdlib { NodePtr* cursor; for (cursor = head_ptr.get(); cursor != NULL; cursor = cursor->link( )) if (target == cursor->data( )) return cursor; return NULL; }