49template <
class R,
class N,
class K, ContainerThreadSafety s,
int n>
51 bool flag = Base::check();
53 unsigned save = readLock(
false);
57 TREEIN_ASSERT(level == node->level+1);
60 TREEIN_ASSERT(level == 1);
62 TREEIN_ASSERT(level == 0);
67 TREEIN_ASSERT(level == node->level || level == node->level+1);
70 TREEIN_ASSERT(level > node->level);
74 TREEIN_ASSERT(level == 1);
76 TREEIN_ASSERT(level == 0);
90template <
class R,
class N,
class K, ContainerThreadSafety s,
int n>
102template <
class R,
class N,
class K, ContainerThreadSafety s,
int n>
110template <
class R,
class N,
class K, ContainerThreadSafety s,
int n>
120template <
class R,
class N,
class K, ContainerThreadSafety s,
int n>
166template <
class R,
class N,
class K, ContainerThreadSafety s,
int n>
169 unsigned save = readLock(
true);
170 if(node->root() ==
nullptr) {
174 int levelL = 0, levelR = 0, levelG = 0;
175 Node* nodeL = node->left();
177 levelL = nodeL->level;
179 Node* nodeR = node->right();
181 levelR = nodeR->level;
182 nodeR = nodeR->right();
184 levelG = nodeR->level;
187 if(levelL > levelR) {
189 }
else if(levelL == levelR || levelL == levelG) {
190 node->level = levelL + 1;
191 node = node->parent();
Intrusive Binary Tree (balanced).
Intrusive Binary Tree, Implementation of Balancing Primitives.
virtual ~AATreeInNode()
Destructor.
Definition AATreeIn.hpp:121
bool check() const override
Definition AATreeIn.hpp:50
void rebalance() override
AATree Balancing.
Definition AATreeIn.hpp:167
class AATreeInNode< R, N, K, s, n > Node
Type of DListIInNode.
Definition AATreeIn.h:263
AATreeInNode()
Constructor.
Definition AATreeIn.hpp:111
virtual ~AATreeInRoot()
Destructor.
Definition AATreeIn.hpp:103
AATreeInRoot()
Constructor.
Definition AATreeIn.hpp:91