Home | History | Annotate | Download | only in wtf

Lines Matching refs:Node

31 template <typename Node> class DoublyLinkedList {
37 Node* head();
39 void append(Node*);
40 void remove(Node*);
43 Node* m_head;
44 Node* m_tail;
47 template <typename Node> inline DoublyLinkedList<Node>::DoublyLinkedList()
53 template <typename Node> inline bool DoublyLinkedList<Node>::isEmpty()
58 template <typename Node> inline Node* DoublyLinkedList<Node>::head()
63 template <typename Node> inline void DoublyLinkedList<Node>::append(Node* node)
67 m_head = node;
68 m_tail = node;
69 node->setPrev(0);
70 node->setNext(0);
75 m_tail->setNext(node);
76 node->setPrev(m_tail);
77 node->setNext(0);
78 m_tail = node;
81 template <typename Node> inline void DoublyLinkedList<Node>::remove(Node* node)
83 if (node->prev()) {
84 ASSERT(node != m_head);
85 node->prev()->setNext(node->next());
87 ASSERT(node == m_head);
88 m_head = node->next();
91 if (node->next()) {
92 ASSERT(node != m_tail);
93 node->next()->setPrev(node->prev());
95 ASSERT(node == m_tail);
96 m_tail = node->prev();