#include <nilist.h>
Inheritance diagram for Islist< T >:


Public Member Functions | |
| void | insert (T *a) |
| void | append (T *a) |
| void | remove (T *a, T *prev) |
| T * | get () |
| T * | find (int key) |
| int | count () |
Private Member Functions | |
| void | insert (slink *a) |
| void | append (slink *a) |
| void | remove (slink *a, slink *prev) |
| void | clear () |
| slink * | last () |
| int | ac () |
| int | rc () |
Friends | |
| class | Islist_iter< T > |
| class | slist_base_iter |
|
|
Definition at line 65 of file nilist.h. References slist_base::append_count_.
00065 {return append_count_;} /* XXX */
|
|
|
Definition at line 80 of file nilist.cc. References slist_base::append_count_, slist_base::count_, slist_base::last_, and slink::next_. Referenced by Slist< T >::append(), and Islist< Segment >::append().
|
|
||||||||||
|
Definition at line 77 of file nilist.h.
00077 {slist_base::append(a);}
|
|
|
Definition at line 62 of file nilist.h. References slist_base::last_.
00062 {last_ = 0;}
|
|
|||||||||
|
Reimplemented from slist_base. Definition at line 81 of file nilist.h.
00081 {return slist_base::count();}
|
|
||||||||||
|
Reimplemented from slist_base. Definition at line 80 of file nilist.h.
00080 {return (T*) slist_base::find(key);}
|
|
|||||||||
|
Reimplemented from slist_base. Definition at line 79 of file nilist.h.
00079 {return (T* ) slist_base::get();}
|
|
|
Definition at line 48 of file nilist.cc. References slist_base::count_, slist_base::last_, and slink::next_. Referenced by Slist< T >::insert(), and Islist< Segment >::insert().
|
|
||||||||||
|
Definition at line 76 of file nilist.h.
00076 {slist_base::insert(a);}
|
|
|
Definition at line 64 of file nilist.h. References slist_base::last_.
00064 {return last_;} /* XXX */
|
|
|
Definition at line 66 of file nilist.h. References slist_base::remove_count_.
00066 {return remove_count_;} /* XXX */
|
|
||||||||||||
|
Definition at line 59 of file nilist.cc. References slist_base::count_, slist_base::last_, slink::next_, and slist_base::remove_count_. Referenced by Islist< Segment >::remove().
00060 {
00061 remove_count_++; /* XXX */
00062 count_--;
00063 if (prev && prev->next_ != a)
00064 printf("In remove(): Error: prev->next!=a prev=%p a=%p\n", prev, a);
00065 if (last_ == NULL)
00066 return;
00067 if (prev == NULL)
00068 if (last_->next_ == a)
00069 prev = last_;
00070 else
00071 return;
00072
00073 prev->next_ = a->next_;
00074 if (last_ == a) // a was last in list
00075 last_ = prev;
00076 if (last_->next_ == a) // a was only one in list
00077 last_ = NULL;
00078 }
|
|
||||||||||||||||
|
Definition at line 78 of file nilist.h.
00078 {slist_base::remove(a,prev);}
|
|
|||||
|
|
|
|
|
1.3.3