Lines Matching refs:next
25 // if next point to self, isn't in list
28 return next != this;
30 explicit SListNode(SListNode* p) noexcept : next {p}
38 std::swap(next, rhs.next);
44 SListNode* next {this};
51 return m_head.next == nullptr;
72 nd.next = std::exchange(m_head.next, &nd);
80 auto node = m_head.next;
81 m_head.next = std::exchange(node->next, node);
100 return next != this && prev != this;
103 ListNode(ListNode* p, ListNode* n) noexcept : prev {p}, next {n}
112 ListNode* next {this};
124 NodeType* x = rhs.m_head.next;
125 m_head.next = x;
129 y->next = &m_tail;
142 NodeType* x = rhs.m_head.next;
143 m_head.next = x;
147 y->next = &m_tail;
171 m_head.next->prev = &nd;
173 nd.next = m_head.next;
174 m_head.next = &nd;
182 m_tail.prev->next = &nd;
184 nd.next = &m_tail;
194 auto node = static_cast<T*>(m_head.next);
202 return empty() ? nullptr : static_cast<T*>(m_head.next);
225 node.prev->next = node.next;
226 node.next->prev = node.prev;
227 node.next = node.prev = &node;
235 m_tail.next = &m_head;
237 m_head.next = &m_tail;