57 ListNode->List->Internal_Remove(
this);
81 if (lnode->
List ==
this)
return true;
115 node->
Prev = &(Head);
145 node->
Next = &(Head);
159 assert(existing_list_member);
167 while ((existing_node->
List !=
this) && (existing_node)) {
168 existing_node = existing_node->
NextList;
171 if (existing_node ==
NULL) {
184 node->
Prev = existing_node;
199 while ((lnode) && (lnode->
List !=
this)) {
229 if (Head.Next == &Head) {
bool Is_In_List(MultiListObjectClass *obj)
bool Contains(MultiListObjectClass *obj)
friend class MultiListObjectClass
bool Internal_Remove(MultiListObjectClass *obj)
bool Internal_Add(MultiListObjectClass *obj, bool onlyonce=true)
bool Internal_Add_Tail(MultiListObjectClass *obj, bool onlyonce=true)
virtual ~GenericMultiListClass(void)
MultiListObjectClass * Internal_Remove_List_Head(void)
bool Internal_Add_After(MultiListObjectClass *obj, const MultiListObjectClass *existing_list_member, bool onlyonce=true)
friend class GenericMultiListIterator
void First(GenericMultiListClass *list)
MultiListObjectClass * Object
MultiListNodeClass * Prev
GenericMultiListClass * List
MultiListNodeClass * NextList
MultiListNodeClass * Next
void Set_List_Node(MultiListNodeClass *node)
virtual ~MultiListObjectClass(void)
MultiListNodeClass * Get_List_Node() const
#define DEFINE_AUTO_POOL(T, BLOCKSIZE)
#define WWMEMLOG(category)