7 List<T>::List(List const&src)
10 // probably el stupido
11 for (Cursor<T> c(src); c.ok(); c++)
42 Cursor<T> next(*this);
43 for ( Cursor<T> c( *this ); c.ok(); c = next ) {
52 List<T>::add( const T& thing, Cursor<T> after_me )
54 if (!size_) { // not much choice if list is empty
55 bottom_ = top_ = new Link<T>( thing );
56 } else { // add at aprioprate place
57 Link<T> *p = ( after_me.ok() ) ?
58 after_me.pointer() : bottom().pointer();
60 if (p == bottom_) // adjust bottom_ if necessary.
70 \item if #after_me# is #ok()#, add after #after_me#, else
71 \item if list !empty simply add to bottom, else
72 \item list is empty: create first \Ref{Link} and initialize
79 List<T>::insert( const T& thing, Cursor<T> before_me )
82 bottom_ = top_ = new Link<T>( thing );
86 before_me.pointer() : top().pointer();