106template <
class R,
class N, ContainerThreadSafety s=ContainerNoSafety,
int n = 0>
class DListInNode;
107template <
class R,
class N, ContainerThreadSafety s=ContainerNoSafety,
int n = 0>
class DListInRoot;
135template <
class R,
class N, ContainerThreadSafety s,
int n>
class DListInRoot :
145 void add(N& node,
bool upgrade =
false);
146 void add(N* node,
bool upgrade =
false);
147 void addFirst(N& node,
bool upgrade =
false);
148 void addFirst(N* node,
bool upgrade =
false);
149 void addLast(N& node,
bool upgrade =
false);
150 void addLast(N* node,
bool upgrade =
false);
157 bool check()
const override;
202template <
class R,
class N, ContainerThreadSafety s,
int n>
class DListInNode :
213 void addTo(R&
root,
bool upgrade =
false);
214 void addTo(R*
root,
bool upgrade =
false);
219 void addAfter(N& node,
bool upgrade =
false);
220 void addAfter(N* node,
bool upgrade =
false);
227 bool check()
const override;
Intrusive Container Documentation and Base Class.
Base Container Class.
Definition Container.h:192
unsigned writeLock(bool upgrade) const
Obtain a write lock.
unsigned readLock(bool upgradable) const
Obtain a read lock.
void readUnlock(unsigned code) const
Release the read lock that was held.
void writeUnlock(unsigned code) const
Release write lock.
Base Container Node Class.
Definition Container.h:255
unsigned readLock(bool upgradable) const
void setRoot(C *root)
Set our Container.
Definition Container.h:272
void readUnlock(unsigned code) const
unsigned writeLock(bool upgrade) const
void writeUnlock(unsigned code) const
Intrusive Doubly Linked List, Node.
Definition DListIn.h:204
R * root() const
Return pointer to list we are on.
Definition DListIn.h:223
void addTo(R &root, bool upgrade=false)
Add ourself to a list at "natural" postion.
Definition DListIn.hpp:452
void setRoot(R *root)
Definition DListIn.h:229
unsigned readLock(bool upgrade) const
Definition DListIn.h:234
class DListInNode< R, N, s, n > Node
Type of DListIInNode.
Definition DListIn.h:207
N * prev() const
Return pointer to previous node on list.
Definition DListIn.h:225
void readUnlock(unsigned save) const
Definition DListIn.h:235
N * next() const
Return pointer to next node on list.
Definition DListIn.h:224
void writeUnlock(unsigned save) const
Definition DListIn.h:232
bool check() const override
Check a DListInNode.
Definition DListIn.hpp:93
void remove()
Remove node from whatever list it is on, if it is on a list.
Definition DListIn.hpp:126
~DListInNode()
Destructor.
Definition DListIn.hpp:552
N * m_next
Pointer to net node on list.
Definition DListIn.h:240
unsigned writeLock(bool upgrade) const
Definition DListIn.h:231
R * m_root
Pointer to list we are on.
Definition DListIn.h:238
class DListInRoot< R, N, s, n > Root
Type of DListInRoot.
Definition DListIn.h:206
void addToFront(R &root, bool upgrade=false)
Add ourselves to the front of a list.
Definition DListIn.hpp:335
N * m_prev
Pointer to previous node on list.
Definition DListIn.h:239
void addToEnd(R &root, bool upgrade=false)
Add ourselfs to the end of a list.
Definition DListIn.hpp:368
DListInNode(R *root=nullptr)
Constructor.
Definition DListIn.hpp:514
void addAfter(N &node, bool upgrade=false)
Add ourself to a list after another node.
Definition DListIn.hpp:404
Intrusive Doubly Linked List, List.
Definition DListIn.h:137
N * first() const
Definition DListIn.h:154
N * m_first
Pointer to first node on list.
Definition DListIn.h:167
~DListInRoot()
Destructor.
Definition DListIn.hpp:500
N * m_last
Pointer to last node on list.
Definition DListIn.h:168
void remove(N &node)
Remove Node from List.
Definition DListIn.hpp:159
void add(N &node, bool upgrade=false)
Add node to our list, at "natural" point.
Definition DListIn.hpp:303
void readUnlock(unsigned save) const
Definition DListIn.h:164
N * last() const
Definition DListIn.h:155
unsigned readLock(bool upgrade) const
Definition DListIn.h:163
class DListInRoot< R, N, s, n > Root
Type of DListInRoot.
Definition DListIn.h:139
bool check() const override
Check a DListInRoot and the list connected.
Definition DListIn.hpp:60
unsigned writeLock(bool upgrade) const
Definition DListIn.h:160
void addFirst(N &node, bool upgrade=false)
Add node to front of our list.
Definition DListIn.hpp:197
void addLast(N &node, bool upgrade=false)
Add node to end of our list.
Definition DListIn.hpp:248
void writeUnlock(unsigned save) const
Definition DListIn.h:161
class DListInNode< R, N, s, n > Node
Type of DListIInNode.
Definition DListIn.h:140
DListInRoot()
Constructor.
Definition DListIn.hpp:484