Lines Matching defs:node
40 static T* ContainerOf(LinkedList* node, LinkedList T::*member) noexcept
42 return reinterpret_cast<T*>(reinterpret_cast<intptr_t>(node) - OffsetOf<T>(member));
51 static void InsertAfter(LinkedList* cur, LinkedList* node) noexcept
53 node->next = cur->next;
54 node->prev = cur;
55 cur->next->prev = node;
56 cur->next = node;
59 static void InsertBefore(LinkedList* cur, LinkedList* node) noexcept
61 node->next = cur;
62 node->prev = cur->prev;
63 cur->prev->next = node;
64 cur->prev = node;
67 static void Delete(LinkedList& node) noexcept
69 node.prev->next = node.next;
70 node.next->prev = node.prev;
71 node.next = &node;
72 node.prev = &node;
75 static void Delete(LinkedList* node) noexcept
77 node->prev->next = node->next;
78 node->next->prev = node->prev;
79 node->next = node;
80 node->prev = node;
83 static void RemoveCur(LinkedList& node) noexcept
85 if (node.Null()) {
88 Delete(node);
91 static void RemoveCur(LinkedList* node) noexcept
93 if (node->Null()) {
96 Delete(node);
166 void InsertAfter(LinkedList& node) noexcept
168 InsertAfter(this, &node);
171 void InsertAfter(LinkedList* node) noexcept
173 InsertAfter(this, node);
176 void InsertBefore(LinkedList& node) noexcept
178 InsertBefore(this, &node);
181 void InsertBefore(LinkedList* node) noexcept
183 InsertBefore(this, node);
219 void PushFront(LinkedList& node) noexcept
221 InsertAfter(&node);
224 void PushFront(LinkedList* node) noexcept
226 InsertAfter(node);
229 void PushBack(LinkedList& node) noexcept
231 InsertBefore(&node);
234 void PushBack(LinkedList* node) noexcept
236 InsertBefore(node);