17 INLINE LinkedListNode::
30 INLINE LinkedListNode::
31 LinkedListNode(
bool) {
39 INLINE LinkedListNode::
41 if (from._prev !=
nullptr) {
42 nassertv(from._prev->_next == &from);
43 from._prev->_next =
this;
46 if (from._next !=
nullptr) {
47 nassertv(from._next->_prev == &from);
48 from._next->_prev =
this;
58 INLINE LinkedListNode::
60 nassertv((_next ==
nullptr && _prev ==
nullptr) || (_next ==
this && _prev ==
this));
68 nassertr((_next ==
nullptr && _prev ==
nullptr) || (_next ==
this && _prev ==
this), *
this);
69 nassertr(from._prev !=
nullptr && from._next !=
nullptr, *
this);
70 nassertr(from._prev->_next == &from && from._next->_prev == &from, *
this);
71 from._prev->_next =
this;
72 from._next->_prev =
this;
85 INLINE
bool LinkedListNode::
87 return (_next !=
nullptr);
93 INLINE
void LinkedListNode::
95 nassertv(_prev !=
nullptr && _next !=
nullptr);
96 nassertv(_prev->_next ==
this && _next->_prev ==
this);
109 INLINE
void LinkedListNode::
111 nassertv(node->_prev !=
nullptr && node->_prev->_next == node && node->_next->_prev == node);
112 nassertv(_prev ==
nullptr &&
124 INLINE
void LinkedListNode::
126 nassertv(node->_prev !=
nullptr && node->_prev->_next == node && node->_next->_prev == node);
127 nassertv(_prev ==
nullptr &&
140 INLINE
void LinkedListNode::
142 other_root->_next->_prev = _prev;
143 _prev->_next = other_root->_next;
144 other_root->_prev->_next =
this;
145 _prev = other_root->_prev;
147 other_root->_next = other_root;
148 other_root->_prev = other_root;
This just stores the pointers to implement a doubly-linked list of some kind of object.