Lines Matching refs:node
106 for (T* node = m_head; node; node = node->next())
127 template<typename T> inline void DoublyLinkedList<T>::push(T* node)
131 m_head = node;
132 m_tail = node;
133 node->setPrev(0);
134 node->setNext(0);
139 m_head->setPrev(node);
140 node->setNext(m_head);
141 node->setPrev(0);
142 m_head = node;
145 template<typename T> inline void DoublyLinkedList<T>::append(T* node)
149 m_head = node;
150 m_tail = node;
151 node->setPrev(0);
152 node->setNext(0);
157 m_tail->setNext(node);
158 node->setPrev(m_tail);
159 node->setNext(0);
160 m_tail = node;
163 template<typename T> inline void DoublyLinkedList<T>::remove(T* node)
165 if (node->prev()) {
166 ASSERT(node != m_head);
167 node->prev()->setNext(node->next());
169 ASSERT(node == m_head);
170 m_head = node->next();
173 if (node->next()) {
174 ASSERT(node != m_tail);
175 node->next()->setPrev(node->prev());
177 ASSERT(node == m_tail);
178 m_tail = node->prev();
184 T* node = head();
185 if (node)
186 remove(node);
187 return node;