13 assert (previous_->next_ == this);
17 assert (next_->previous_ == this);
24 Link<T>::Link (const T& thing) :
27 previous_ = next_ = 0;
32 Link<T>::Link (Link<T>* previous, Link<T>* next, const T& thing) :
58 Link<T>::add (const T& thing)
61 Link<T>* l = new Link<T>( this, next_, thing);
69 Link<T>::insert (const T& thing)
71 // Link<T>* l = new Link<T>( next_, this, thing);
73 Link<T>* l = new Link<T>( previous_, this, thing);
80 don't forget to adjust #l#'s top_ and bottom_.
84 Link<T>::remove (List<T> &l)
87 previous_->next_ = next_;
92 next_->previous_ = previous_;
94 l.bottom_ = previous_;