136template <
class R,
class N,
class K, ContainerThreadSafety s=ContainerNoSafety,
int n = 0>
class AATreeInNode;
137template <
class R,
class N,
class K, ContainerThreadSafety s=ContainerNoSafety,
int n = 0>
class AATreeInRoot;
163template <
class R,
class N,
class K, ContainerThreadSafety s,
int n>
class AATreeInRoot :
174 int compare(N
const& node1, N
const& node2)
const {
175 return Base::compare(node1, node2);
178 return Base::compareKey(node, key);
187 N*
base()
const {
return Base::base(); }
188 N*
first()
const {
return Base::first(); }
189 N*
last()
const {
return Base::last(); }
258template <
class R,
class N,
class K, ContainerThreadSafety s,
int n>
class AATreeInNode :
272 R*
root()
const {
return Base::root(); }
273 N*
parent()
const {
return Base::parent(); }
274 N*
left()
const {
return Base::left(); }
275 N*
right()
const {
return Base::right(); }
276 N*
next()
const {
return Base::next(); }
277 N*
prev()
const {
return Base::prev(); }
282 bool check()
const override;
Intrusive Binary Tree (balenced).
Intrusive Binary Tree, Node.
Definition AATreeIn.h:259
virtual ~AATreeInNode()
Destructor.
Definition AATreeIn.hpp:121
bool check() const override
Definition AATreeIn.hpp:50
R * root() const
Definition AATreeIn.h:272
class AATreeInRoot< R, N, K, s, n > Root
Type of TreeInRoot.
Definition AATreeIn.h:262
void readUnlock(unsigned save) const
Definition AATreeIn.h:290
N * rotateLeft()
Definition AATreeIn.h:280
unsigned readLock(bool upgrade) const
Definition AATreeIn.h:289
N * next() const
Definition AATreeIn.h:276
void rebalance() override
AATree Balancing.
Definition AATreeIn.hpp:167
unsigned writeLock(bool upgrade) const
Definition AATreeIn.h:286
class AATreeInNode< R, N, K, s, n > Node
Type of DListIInNode.
Definition AATreeIn.h:263
class BalTreeInNode< R, N, K, s, n > Base
Definition AATreeIn.h:261
N * parent() const
Definition AATreeIn.h:273
N * left() const
Definition AATreeIn.h:274
N * right() const
Definition AATreeIn.h:275
int level
Node Level.
Definition AATreeIn.h:293
N * rotateRight()
Definition AATreeIn.h:279
AATreeInNode()
Constructor.
Definition AATreeIn.hpp:111
N * prev() const
Definition AATreeIn.h:277
void writeUnlock(unsigned save) const
Definition AATreeIn.h:287
Intrusive Binary Tree, Root.
Definition AATreeIn.h:164
unsigned writeLock() const
Definition AATreeIn.h:193
class AATreeInNode< R, N, K, s, n > Node
Type of DListIInNode.
Definition AATreeIn.h:169
unsigned readLock() const
Definition AATreeIn.h:196
class BalTreeInRoot< R, N, K, s, n > Base
Definition AATreeIn.h:167
N * first() const
Definition AATreeIn.h:188
class AATreeInRoot< R, N, K, s, n > Root
Type of TreeInRoot.
Definition AATreeIn.h:168
virtual ~AATreeInRoot()
Destructor.
Definition AATreeIn.hpp:103
void writeUnlock(unsigned save) const
Definition AATreeIn.h:194
N * base() const
Definition AATreeIn.h:187
int compareKey(N const &node, K key) const
Definition AATreeIn.h:177
AATreeInRoot()
Constructor.
Definition AATreeIn.hpp:91
int compare(N const &node1, N const &node2) const
Definition AATreeIn.h:174
N * last() const
Definition AATreeIn.h:189
void readUnlock(unsigned save) const
Definition AATreeIn.h:197
Intrusive Binary Tree, Node.
Definition BalTreeIn.h:222
Intrusive Binary Tree, Root.
Definition BalTreeIn.h:145
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.
unsigned readLock(bool upgradable) const
void readUnlock(unsigned code) const
unsigned writeLock(bool upgrade) const
void writeUnlock(unsigned code) const