9 Cursor<T>::Cursor( List<T>& list, Link<T>* pointer ) :
13 pointer_ = pointer ? pointer : list.top().pointer_;
20 Cursor<T>::Cursor( const Cursor<T>& cursor ) :
23 pointer_ = cursor.pointer_;
28 Cursor<T>::operator *()
31 return pointer_->thing();
36 Cursor<T>::operator =( const Cursor<T>& c )
38 assert( &list_ == &c.list_ );
39 pointer_ = c.pointer_;
45 Cursor<T>::add( const T& thing )
47 list_.add( thing, *this );
52 Cursor<T>::insert( const T& thing )
54 list_.insert( thing, *this );
62 list_.remove( *this );
67 Cursor<T>::list() const
83 return ( pointer_ != 0 );
90 return ( pointer_ != 0 );
97 return ( pointer_ != 0 );