102template<
class R,
class N, ContainerThreadSafety s=ContainerNoSafety,
int n = 0>
class ListInRoot;
103template<
class R,
class N, ContainerThreadSafety s=ContainerNoSafety,
int n = 0>
class ListInNode;
129template<
class R,
class N, ContainerThreadSafety s,
int n>
class ListInRoot :
140 void add(
N& node,
bool upgrade =
false);
141 void add(
N* node,
bool upgrade =
false);
142 void addFirst(
N& node,
bool upgrade =
false);
143 void addFirst(
N* node,
bool upgrade =
false);
144 void addLast(
N& node,
bool upgrade =
false);
145 void addLast(
N* node,
bool upgrade =
false);
151 bool check()
const override;
192template<
class R,
class N, ContainerThreadSafety s,
int n>
class ListInNode :
204 void addTo(
R& myRoot,
bool upgrade =
false);
205 void addTo(
R* myRoot,
bool upgrade =
false);
208 void addToEnd(
R& myRoot,
bool upgrade =
false);
209 void addToEnd(
R* myRoot,
bool upgrade =
false);
210 void addAfter(N& myNode,
bool upgrade =
false);
211 void addAfter(N* myNode,
bool upgrade =
false);
218 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 Singly Linked List, Node.
Definition ListIn.h:194
void setRoot(R *root)
Definition ListIn.h:216
friend R
Definition ListIn.h:196
void writeUnlock(unsigned save) const
Definition ListIn.h:222
N * m_next
Pointer to next Node in list.
Definition ListIn.h:230
void addTo(R &myRoot, bool upgrade=false)
Add ourself to a list at "natural" postion.
Definition ListIn.hpp:444
unsigned readLock(bool upgrade) const
Definition ListIn.h:224
void addAfter(N &myNode, bool upgrade=false)
Add ourself to a list after another node.
Definition ListIn.hpp:400
ListInNode(R &myRoot)
Constructor.
Definition ListIn.hpp:519
void readUnlock(unsigned save) const
Definition ListIn.h:225
ListInRoot< R, N, s, n > Root
Type of ListInRoot.
Definition ListIn.h:198
ListInNode< R, N, s, n > Node
Type of ListInNode.
Definition ListIn.h:197
void addToEnd(R &myRoot, bool upgrade=false)
Add ourselfs to the end of a list.
Definition ListIn.hpp:362
R * root() const
Return pointer to List we are on.
Definition ListIn.h:214
R * m_root
Pointer to list we are on.
Definition ListIn.h:229
void addToFront(R &myRoot, bool upgrade=false)
Add ourselfs to the front of a list.
Definition ListIn.hpp:327
void remove()
Remove node from whatever list it is on, if it is on a list.
Definition ListIn.hpp:113
bool check() const override
Definition ListIn.hpp:90
N * next() const
Return pointer to next Node on List.
Definition ListIn.h:215
~ListInNode()
Destructor.
Definition ListIn.hpp:536
unsigned writeLock(bool upgrade) const
Definition ListIn.h:221
Intrusive Singly Linked List, List.
Definition ListIn.h:131
unsigned writeLock(bool upgrade) const
Definition ListIn.h:154
void remove(N &node)
Remove Node from List.
Definition ListIn.hpp:167
ListInRoot< R, N, s, n > Root
Type of ListInRoot.
Definition ListIn.h:134
void addFirst(N &node, bool upgrade=false)
Add node to front of our list.
Definition ListIn.hpp:202
unsigned readLock(bool upgrade) const
Definition ListIn.h:157
void add(N &node, bool upgrade=false)
Add node to our list, at "natural" point.
Definition ListIn.hpp:293
N * last() const
Return pointer to last Node on list.
Definition ListIn.h:149
N * first() const
Return pointer to first Node on list.
Definition ListIn.h:148
ListInRoot()
Constructor.
Definition ListIn.hpp:475
N * m_first
Pointer to first Node on list.
Definition ListIn.h:161
friend N
Definition ListIn.h:133
bool check() const override
Definition ListIn.hpp:59
void writeUnlock(unsigned save) const
Definition ListIn.h:155
void addLast(N &node, bool upgrade=false)
Add node to end of our list.
Definition ListIn.hpp:240
ListInNode< R, N, s, n > Node
Type of ListInNode.
Definition ListIn.h:135
void readUnlock(unsigned save) const
Definition ListIn.h:158
~ListInRoot()
Destructor.
Definition ListIn.hpp:488
N * m_last
Pointer to last Node on list.
Definition ListIn.h:162