|
Aleph-w 3.0
A C++ Library for Data Structures and Algorithms
|
Hybrid top-down/bottom-up red-black tree with rank support. More...
#include <tpl_hRbTreeRk.H>
Classes | |
| struct | Iterator |
| In-order iterator. More... | |
Public Types | |
| using | Color = unsigned char |
| using | Node = RbNodeRk< Key > |
| using | key_type = Key |
Private Member Functions | |
| bool | less (const Key &k1, const Key &k2) const noexcept |
| bool | equals (const Key &k1, const Key &k2) const noexcept |
| void | restoreRedCondition (Node *p, Node *&fp, Node *ffp, Node *fffp) noexcept |
| Node * | searchFlipColorsAndInsert (Node *q) noexcept |
| Insert with stack tracking for count updates. | |
| Node * | searchFlipColorsAndInsertDup (Node *q) noexcept |
| Node * | searchAndBuildPath (const Key &key) noexcept |
| void | findSuccAndSwap (Node *p, Node *&fp) noexcept |
| void | balanceDownAndColor (Node *p, Node *&fp, Node *&sp) noexcept |
| void | rotateNephewAndColor (Node *fp, Node *sp, Node *np) noexcept |
| void | doubleRotateNephewAndColor (Node *fp, Node *sp, Node *snp) noexcept |
| void | removeAndFixBlackCondition (Node *q) noexcept |
| Remove node and fix red-black violations. | |
| void | init () noexcept |
Static Private Member Functions | |
| static Node * | getSibling (Node *p, Node *fp) noexcept |
| static Node * | rotate_to_right_rk (Node *p, Node *fp) noexcept |
| Right rotation with count update. | |
| static Node * | rotate_to_left_rk (Node *p, Node *fp) noexcept |
| Left rotation with count update. | |
| static void | flipColors (Node *p) noexcept |
| static void | colorSiblingAsRed (Node *sp) noexcept |
| static void | colorParentAndSibling (Node *fp, Node *sp) noexcept |
| static void | updateCountRec (Node *p) noexcept |
| Recursively update counts for entire subtree - O(n) | |
| static bool | verifyCountsRec (Node *p) noexcept |
Private Attributes | |
| Node | headNode |
| Node | headParent |
| Node | headGrandParent |
| Node * | head |
| Node * | fHead |
| Node * | ffHead |
| Node *& | root |
| FixedStack< Node * > | path {Node::MaxHeight} |
| Compare | cmp |
Hybrid top-down/bottom-up red-black tree with rank support.
This class implements a self-balancing binary search tree with O(log n) rank operations (select, position). It combines:
This is the only implementation that achieves O(log n) for ALL operations including removal with rank support.
| Key | The type of keys stored in the tree |
| Compare | Comparison functor (default: Aleph::less<Key>) |
Definition at line 94 of file tpl_hRbTreeRk.H.
| using Aleph::HtdRbTreeRk< Key, Compare >::Color = unsigned char |
Definition at line 97 of file tpl_hRbTreeRk.H.
| using Aleph::HtdRbTreeRk< Key, Compare >::key_type = Key |
Definition at line 716 of file tpl_hRbTreeRk.H.
| using Aleph::HtdRbTreeRk< Key, Compare >::Node = RbNodeRk<Key> |
Definition at line 98 of file tpl_hRbTreeRk.H.
|
inlinenoexcept |
Definition at line 723 of file tpl_hRbTreeRk.H.
References Aleph::HtdRbTreeRk< Key, Compare >::init().
|
inlinenoexcept |
Definition at line 739 of file tpl_hRbTreeRk.H.
References Aleph::HtdRbTreeRk< Key, Compare >::init(), and Aleph::HtdRbTreeRk< Key, Compare >::swap().
|
delete |
|
virtualdefault |
|
inlineprivatenoexcept |
Definition at line 483 of file tpl_hRbTreeRk.H.
References BLACK, COLOR, Aleph::divide_and_conquer_partition_dp(), Aleph::FixedStack< T >::is_empty(), LLINK, Aleph::HtdRbTreeRk< Key, Compare >::path, RED, RLINK, Aleph::HtdRbTreeRk< Key, Compare >::rotate_to_left_rk(), Aleph::HtdRbTreeRk< Key, Compare >::rotate_to_right_rk(), and Aleph::FixedStack< T >::top().
Referenced by Aleph::HtdRbTreeRk< Key, Compare >::removeAndFixBlackCondition().
|
inlinestaticprivatenoexcept |
Definition at line 566 of file tpl_hRbTreeRk.H.
References BLACK, COLOR, Aleph::divide_and_conquer_partition_dp(), LLINK, RED, and RLINK.
Referenced by Aleph::HtdRbTreeRk< Key, Compare >::removeAndFixBlackCondition().
|
inlinestaticprivatenoexcept |
Definition at line 560 of file tpl_hRbTreeRk.H.
References BLACK, COLOR, Aleph::divide_and_conquer_partition_dp(), and RED.
Referenced by Aleph::HtdRbTreeRk< Key, Compare >::removeAndFixBlackCondition().
|
inlineprivatenoexcept |
Definition at line 534 of file tpl_hRbTreeRk.H.
References BLACK, COLOR, Aleph::divide_and_conquer_partition_dp(), Aleph::FixedStack< T >::is_empty(), LLINK, Aleph::HtdRbTreeRk< Key, Compare >::path, RED, RLINK, Aleph::HtdRbTreeRk< Key, Compare >::rotate_to_left_rk(), Aleph::HtdRbTreeRk< Key, Compare >::rotate_to_right_rk(), and Aleph::FixedStack< T >::top().
Referenced by Aleph::HtdRbTreeRk< Key, Compare >::removeAndFixBlackCondition().
|
inlineprivatenoexcept |
Definition at line 117 of file tpl_hRbTreeRk.H.
References Aleph::and, Aleph::HtdRbTreeRk< Key, Compare >::cmp, and Aleph::divide_and_conquer_partition_dp().
Referenced by Aleph::HtdRbTreeRk< Key, Compare >::remove(), Aleph::HtdRbTreeRk< Key, Compare >::search(), Aleph::HtdRbTreeRk< Key, Compare >::searchAndBuildPath(), and Aleph::HtdRbTreeRk< Key, Compare >::searchFlipColorsAndInsert().
|
inlinenoexcept |
Find position where key would be inserted.
Works even if key doesn't exist in the tree.
| key | Key to find position for |
Definition at line 888 of file tpl_hRbTreeRk.H.
References Aleph::HtdRbTreeRk< Key, Compare >::cmp, Aleph::divide_and_conquer_partition_dp(), Aleph::HtdRbTreeRk< Key, Compare >::find_position(), r, and Aleph::HtdRbTreeRk< Key, Compare >::root.
Referenced by Aleph::HtdRbTreeRk< Key, Compare >::find_position().
|
inlineprivatenoexcept |
Definition at line 430 of file tpl_hRbTreeRk.H.
References COLOR, Aleph::divide_and_conquer_partition_dp(), LLINK, Aleph::RbNodeRk< Key >::NullPtr, Aleph::HtdRbTreeRk< Key, Compare >::path, Aleph::FixedStack< T >::push(), RLINK, and Aleph::FixedStack< T >::top().
Referenced by Aleph::HtdRbTreeRk< Key, Compare >::removeAndFixBlackCondition().
|
inlinestaticprivatenoexcept |
Definition at line 229 of file tpl_hRbTreeRk.H.
References BLACK, COLOR, Aleph::divide_and_conquer_partition_dp(), LLINK, Aleph::RbNodeRk< Key >::NullPtr, RED, and RLINK.
Referenced by Aleph::HtdRbTreeRk< Key, Compare >::searchFlipColorsAndInsert(), and Aleph::HtdRbTreeRk< Key, Compare >::searchFlipColorsAndInsertDup().
|
inlineconstexprnoexcept |
Definition at line 721 of file tpl_hRbTreeRk.H.
References Aleph::HtdRbTreeRk< Key, Compare >::cmp.
|
inlinenoexcept |
Definition at line 720 of file tpl_hRbTreeRk.H.
References Aleph::HtdRbTreeRk< Key, Compare >::cmp.
|
inlinenoexcept |
Definition at line 853 of file tpl_hRbTreeRk.H.
References Aleph::HtdRbTreeRk< Key, Compare >::root.
|
inlinenoexcept |
Definition at line 852 of file tpl_hRbTreeRk.H.
References Aleph::HtdRbTreeRk< Key, Compare >::root.
|
inlinestaticprivatenoexcept |
Definition at line 120 of file tpl_hRbTreeRk.H.
References Aleph::divide_and_conquer_partition_dp(), LLINK, and RLINK.
Referenced by Aleph::HtdRbTreeRk< Key, Compare >::removeAndFixBlackCondition().
|
inlineprivatenoexcept |
Definition at line 701 of file tpl_hRbTreeRk.H.
References BLACK, COLOR, Aleph::COUNT(), Aleph::HtdRbTreeRk< Key, Compare >::ffHead, Aleph::HtdRbTreeRk< Key, Compare >::fHead, Aleph::HtdRbTreeRk< Key, Compare >::head, Aleph::RbNodeRk< Key >::NullPtr, and RLINK.
Referenced by Aleph::HtdRbTreeRk< Key, Compare >::HtdRbTreeRk(), and Aleph::HtdRbTreeRk< Key, Compare >::HtdRbTreeRk().
|
inlinenoexcept |
Definition at line 769 of file tpl_hRbTreeRk.H.
References COLOR, Aleph::COUNT(), Aleph::divide_and_conquer_partition_dp(), Aleph::RbNodeRk< Key >::NullPtr, RED, Aleph::HtdRbTreeRk< Key, Compare >::root, and Aleph::HtdRbTreeRk< Key, Compare >::searchFlipColorsAndInsert().
Referenced by HtdRbTreeRkTest::insert_range(), and Aleph::HtdRbTreeRk< Key, Compare >::search_or_insert().
|
inlinenoexcept |
Definition at line 804 of file tpl_hRbTreeRk.H.
References COLOR, Aleph::COUNT(), Aleph::divide_and_conquer_partition_dp(), Aleph::RbNodeRk< Key >::NullPtr, RED, Aleph::HtdRbTreeRk< Key, Compare >::root, and Aleph::HtdRbTreeRk< Key, Compare >::searchFlipColorsAndInsertDup().
|
inlineconstexprnoexcept |
Definition at line 762 of file tpl_hRbTreeRk.H.
References Aleph::RbNodeRk< Key >::NullPtr, and Aleph::HtdRbTreeRk< Key, Compare >::root.
|
inlinenoexcept |
Definition at line 719 of file tpl_hRbTreeRk.H.
References Aleph::HtdRbTreeRk< Key, Compare >::cmp.
|
inlinenoexcept |
Definition at line 718 of file tpl_hRbTreeRk.H.
References Aleph::HtdRbTreeRk< Key, Compare >::cmp.
|
inlineprivatenoexcept |
Definition at line 114 of file tpl_hRbTreeRk.H.
References Aleph::HtdRbTreeRk< Key, Compare >::cmp, and Aleph::divide_and_conquer_partition_dp().
|
delete |
|
inlinenoexcept |
Definition at line 751 of file tpl_hRbTreeRk.H.
References Aleph::HtdRbTreeRk< Key, Compare >::swap().
|
inlinenoexcept |
Find position of a key.
| key | Key to find |
Definition at line 873 of file tpl_hRbTreeRk.H.
References Aleph::HtdRbTreeRk< Key, Compare >::cmp, Aleph::divide_and_conquer_partition_dp(), Aleph::inorder_position(), and Aleph::HtdRbTreeRk< Key, Compare >::root.
|
inlinenoexcept |
Definition at line 832 of file tpl_hRbTreeRk.H.
References Aleph::divide_and_conquer_partition_dp(), Aleph::FixedStack< T >::empty(), Aleph::HtdRbTreeRk< Key, Compare >::equals(), KEY, Aleph::RbNodeRk< Key >::NullPtr, Aleph::HtdRbTreeRk< Key, Compare >::path, Aleph::HtdRbTreeRk< Key, Compare >::removeAndFixBlackCondition(), Aleph::RbNodeRk< Key >::reset(), Aleph::HtdRbTreeRk< Key, Compare >::root, and Aleph::HtdRbTreeRk< Key, Compare >::searchAndBuildPath().
Referenced by Aleph::HtdRbTreeRk< Key, Compare >::remove_pos().
|
inline |
Remove element at position i.
| i | Position (0-indexed) |
| std::out_of_range | if i >= size() |
Definition at line 902 of file tpl_hRbTreeRk.H.
References ah_out_of_range_error_if, KEY, Aleph::HtdRbTreeRk< Key, Compare >::remove(), Aleph::HtdRbTreeRk< Key, Compare >::select(), and Aleph::HtdRbTreeRk< Key, Compare >::size().
Referenced by Aleph::HtdRbTreeRk< Key, Compare >::split_pos().
|
inlineprivatenoexcept |
Remove node and fix red-black violations.
After BST deletion and red-black fixing, recalculates all counts. The count update is O(n) due to the complexity of tracking all affected nodes during deletion with swaps and rotations.
Definition at line 592 of file tpl_hRbTreeRk.H.
References Aleph::HtdRbTreeRk< Key, Compare >::balanceDownAndColor(), BLACK, COLOR, Aleph::HtdRbTreeRk< Key, Compare >::colorParentAndSibling(), Aleph::HtdRbTreeRk< Key, Compare >::colorSiblingAsRed(), Aleph::divide_and_conquer_partition_dp(), Aleph::HtdRbTreeRk< Key, Compare >::doubleRotateNephewAndColor(), Aleph::FixedStack< T >::empty(), Aleph::HtdRbTreeRk< Key, Compare >::findSuccAndSwap(), Aleph::HtdRbTreeRk< Key, Compare >::getSibling(), LLINK, Aleph::RbNodeRk< Key >::NullPtr, Aleph::HtdRbTreeRk< Key, Compare >::path, Aleph::FixedStack< T >::pop(), Aleph::FixedStack< T >::popn(), RED, RLINK, Aleph::HtdRbTreeRk< Key, Compare >::root, Aleph::HtdRbTreeRk< Key, Compare >::rotateNephewAndColor(), Aleph::FixedStack< T >::top(), and Aleph::HtdRbTreeRk< Key, Compare >::updateCountRec().
Referenced by Aleph::HtdRbTreeRk< Key, Compare >::remove().
|
inlinenoexcept |
Definition at line 767 of file tpl_hRbTreeRk.H.
References Aleph::RbNodeRk< Key >::NullPtr, and Aleph::HtdRbTreeRk< Key, Compare >::root.
|
inlineprivatenoexcept |
Definition at line 184 of file tpl_hRbTreeRk.H.
References BLACK, COLOR, Aleph::divide_and_conquer_partition_dp(), LLINK, RED, RLINK, Aleph::HtdRbTreeRk< Key, Compare >::root, Aleph::HtdRbTreeRk< Key, Compare >::rotate_to_left_rk(), and Aleph::HtdRbTreeRk< Key, Compare >::rotate_to_right_rk().
Referenced by Aleph::HtdRbTreeRk< Key, Compare >::searchFlipColorsAndInsert(), and Aleph::HtdRbTreeRk< Key, Compare >::searchFlipColorsAndInsertDup().
|
inlinestaticprivatenoexcept |
Left rotation with count update.
Definition at line 160 of file tpl_hRbTreeRk.H.
References Aleph::COUNT(), Aleph::divide_and_conquer_partition_dp(), LLINK, Aleph::RbNodeRk< Key >::NullPtr, and RLINK.
Referenced by Aleph::HtdRbTreeRk< Key, Compare >::balanceDownAndColor(), Aleph::HtdRbTreeRk< Key, Compare >::doubleRotateNephewAndColor(), Aleph::HtdRbTreeRk< Key, Compare >::restoreRedCondition(), and Aleph::HtdRbTreeRk< Key, Compare >::rotateNephewAndColor().
|
inlinestaticprivatenoexcept |
Right rotation with count update.
After rotation:
Definition at line 135 of file tpl_hRbTreeRk.H.
References Aleph::COUNT(), Aleph::divide_and_conquer_partition_dp(), LLINK, Aleph::RbNodeRk< Key >::NullPtr, and RLINK.
Referenced by Aleph::HtdRbTreeRk< Key, Compare >::balanceDownAndColor(), Aleph::HtdRbTreeRk< Key, Compare >::doubleRotateNephewAndColor(), Aleph::HtdRbTreeRk< Key, Compare >::restoreRedCondition(), and Aleph::HtdRbTreeRk< Key, Compare >::rotateNephewAndColor().
|
inlineprivatenoexcept |
Definition at line 513 of file tpl_hRbTreeRk.H.
References BLACK, COLOR, Aleph::divide_and_conquer_partition_dp(), Aleph::FixedStack< T >::is_empty(), LLINK, Aleph::HtdRbTreeRk< Key, Compare >::path, RED, RLINK, Aleph::HtdRbTreeRk< Key, Compare >::rotate_to_left_rk(), Aleph::HtdRbTreeRk< Key, Compare >::rotate_to_right_rk(), and Aleph::FixedStack< T >::top().
Referenced by Aleph::HtdRbTreeRk< Key, Compare >::removeAndFixBlackCondition().
|
inlinenoexcept |
Definition at line 819 of file tpl_hRbTreeRk.H.
References Aleph::divide_and_conquer_partition_dp(), Aleph::HtdRbTreeRk< Key, Compare >::equals(), KEY, LLINK, Aleph::RbNodeRk< Key >::NullPtr, RLINK, and Aleph::HtdRbTreeRk< Key, Compare >::root.
Referenced by Aleph::HtdRbTreeRk< Key, Compare >::search_or_insert().
|
inlinenoexcept |
Definition at line 784 of file tpl_hRbTreeRk.H.
References COLOR, Aleph::COUNT(), Aleph::divide_and_conquer_partition_dp(), Aleph::HtdRbTreeRk< Key, Compare >::insert(), KEY, Aleph::RbNodeRk< Key >::NullPtr, RED, Aleph::HtdRbTreeRk< Key, Compare >::root, and Aleph::HtdRbTreeRk< Key, Compare >::search().
|
inlineprivatenoexcept |
Definition at line 399 of file tpl_hRbTreeRk.H.
References Aleph::divide_and_conquer_partition_dp(), Aleph::HtdRbTreeRk< Key, Compare >::equals(), Aleph::HtdRbTreeRk< Key, Compare >::head, KEY, LLINK, Aleph::RbNodeRk< Key >::NullPtr, Aleph::HtdRbTreeRk< Key, Compare >::path, Aleph::FixedStack< T >::push(), RLINK, and Aleph::HtdRbTreeRk< Key, Compare >::root.
Referenced by Aleph::HtdRbTreeRk< Key, Compare >::remove().
|
inlineprivatenoexcept |
Insert with stack tracking for count updates.
Uses a stack to track the path during insertion, then updates counts bottom-up after all rotations are complete.
Definition at line 244 of file tpl_hRbTreeRk.H.
References BLACK, COLOR, Aleph::COUNT(), Aleph::divide_and_conquer_partition_dp(), Aleph::HtdRbTreeRk< Key, Compare >::equals(), Aleph::HtdRbTreeRk< Key, Compare >::ffHead, Aleph::HtdRbTreeRk< Key, Compare >::fHead, Aleph::HtdRbTreeRk< Key, Compare >::flipColors(), Aleph::HtdRbTreeRk< Key, Compare >::head, KEY, LLINK, Aleph::RbNodeRk< Key >::NullPtr, RED, Aleph::HtdRbTreeRk< Key, Compare >::restoreRedCondition(), RLINK, and Aleph::HtdRbTreeRk< Key, Compare >::root.
Referenced by Aleph::HtdRbTreeRk< Key, Compare >::insert().
|
inlineprivatenoexcept |
Definition at line 323 of file tpl_hRbTreeRk.H.
References BLACK, COLOR, Aleph::COUNT(), Aleph::divide_and_conquer_partition_dp(), Aleph::HtdRbTreeRk< Key, Compare >::ffHead, Aleph::HtdRbTreeRk< Key, Compare >::fHead, Aleph::HtdRbTreeRk< Key, Compare >::flipColors(), Aleph::HtdRbTreeRk< Key, Compare >::head, KEY, LLINK, Aleph::RbNodeRk< Key >::NullPtr, RED, Aleph::HtdRbTreeRk< Key, Compare >::restoreRedCondition(), RLINK, and Aleph::HtdRbTreeRk< Key, Compare >::root.
Referenced by Aleph::HtdRbTreeRk< Key, Compare >::insert_dup().
|
inline |
Select the i-th smallest element (0-indexed).
| i | Position (0 = smallest) |
| std::out_of_range | if i >= size() |
Definition at line 863 of file tpl_hRbTreeRk.H.
References Aleph::HtdRbTreeRk< Key, Compare >::root, and Aleph::select().
Referenced by Aleph::HtdRbTreeRk< Key, Compare >::remove_pos().
|
inlinenoexcept |
O(1) size using root count.
Definition at line 765 of file tpl_hRbTreeRk.H.
References Aleph::COUNT(), and Aleph::HtdRbTreeRk< Key, Compare >::root.
Referenced by Aleph::HtdRbTreeRk< Key, Compare >::remove_pos(), and Aleph::HtdRbTreeRk< Key, Compare >::split_pos().
|
inline |
Split tree at position.
After split:
| pos | Split position |
| t1 | Tree for left part |
| t2 | Tree for right part |
Definition at line 920 of file tpl_hRbTreeRk.H.
References ah_out_of_range_error_if, Aleph::divide_and_conquer_partition_dp(), Aleph::RbNodeRk< Key >::NullPtr, Aleph::HtdRbTreeRk< Key, Compare >::remove_pos(), Aleph::HtdRbTreeRk< Key, Compare >::root, and Aleph::HtdRbTreeRk< Key, Compare >::size().
|
inlinenoexcept |
Definition at line 733 of file tpl_hRbTreeRk.H.
References Aleph::HtdRbTreeRk< Key, Compare >::cmp, and Aleph::HtdRbTreeRk< Key, Compare >::root.
Referenced by Aleph::HtdRbTreeRk< Key, Compare >::HtdRbTreeRk(), and Aleph::HtdRbTreeRk< Key, Compare >::operator=().
|
inlinestaticprivatenoexcept |
Recursively update counts for entire subtree - O(n)
Definition at line 577 of file tpl_hRbTreeRk.H.
References Aleph::COUNT(), LLINK, Aleph::RbNodeRk< Key >::NullPtr, RLINK, and Aleph::HtdRbTreeRk< Key, Compare >::updateCountRec().
Referenced by Aleph::HtdRbTreeRk< Key, Compare >::removeAndFixBlackCondition(), and Aleph::HtdRbTreeRk< Key, Compare >::updateCountRec().
|
inlinenoexcept |
Verify red-black and rank invariants.
Definition at line 941 of file tpl_hRbTreeRk.H.
References Aleph::HtdRbTreeRk< Key, Compare >::cmp, Aleph::is_red_black_bst_rk(), Aleph::RbNodeRk< Key >::NullPtr, Aleph::HtdRbTreeRk< Key, Compare >::root, and Aleph::HtdRbTreeRk< Key, Compare >::verifyCountsRec().
|
inlinestaticprivatenoexcept |
Definition at line 955 of file tpl_hRbTreeRk.H.
References Aleph::COUNT(), Aleph::divide_and_conquer_partition_dp(), LLINK, Aleph::RbNodeRk< Key >::NullPtr, RLINK, and Aleph::HtdRbTreeRk< Key, Compare >::verifyCountsRec().
Referenced by Aleph::HtdRbTreeRk< Key, Compare >::verify(), and Aleph::HtdRbTreeRk< Key, Compare >::verifyCountsRec().
|
private |
Definition at line 112 of file tpl_hRbTreeRk.H.
Referenced by Aleph::HtdRbTreeRk< Key, Compare >::equals(), Aleph::HtdRbTreeRk< Key, Compare >::find_position(), Aleph::HtdRbTreeRk< Key, Compare >::get_compare(), Aleph::HtdRbTreeRk< Key, Compare >::get_compare(), Aleph::HtdRbTreeRk< Key, Compare >::key_comp(), Aleph::HtdRbTreeRk< Key, Compare >::key_comp(), Aleph::HtdRbTreeRk< Key, Compare >::less(), Aleph::HtdRbTreeRk< Key, Compare >::position(), Aleph::HtdRbTreeRk< Key, Compare >::swap(), and Aleph::HtdRbTreeRk< Key, Compare >::verify().
|
private |
Definition at line 107 of file tpl_hRbTreeRk.H.
Referenced by Aleph::HtdRbTreeRk< Key, Compare >::init(), Aleph::HtdRbTreeRk< Key, Compare >::searchFlipColorsAndInsert(), and Aleph::HtdRbTreeRk< Key, Compare >::searchFlipColorsAndInsertDup().
|
private |
Definition at line 106 of file tpl_hRbTreeRk.H.
Referenced by Aleph::HtdRbTreeRk< Key, Compare >::init(), Aleph::HtdRbTreeRk< Key, Compare >::searchFlipColorsAndInsert(), and Aleph::HtdRbTreeRk< Key, Compare >::searchFlipColorsAndInsertDup().
|
private |
Definition at line 105 of file tpl_hRbTreeRk.H.
Referenced by Aleph::HtdRbTreeRk< Key, Compare >::init(), Aleph::HtdRbTreeRk< Key, Compare >::searchAndBuildPath(), Aleph::HtdRbTreeRk< Key, Compare >::searchFlipColorsAndInsert(), and Aleph::HtdRbTreeRk< Key, Compare >::searchFlipColorsAndInsertDup().
|
private |
Definition at line 103 of file tpl_hRbTreeRk.H.
|
private |
Definition at line 101 of file tpl_hRbTreeRk.H.
|
private |
Definition at line 102 of file tpl_hRbTreeRk.H.
|
private |
Definition at line 110 of file tpl_hRbTreeRk.H.
Referenced by Aleph::HtdRbTreeRk< Key, Compare >::balanceDownAndColor(), Aleph::HtdRbTreeRk< Key, Compare >::doubleRotateNephewAndColor(), Aleph::HtdRbTreeRk< Key, Compare >::findSuccAndSwap(), Aleph::HtdRbTreeRk< Key, Compare >::remove(), Aleph::HtdRbTreeRk< Key, Compare >::removeAndFixBlackCondition(), Aleph::HtdRbTreeRk< Key, Compare >::rotateNephewAndColor(), and Aleph::HtdRbTreeRk< Key, Compare >::searchAndBuildPath().
|
private |
Definition at line 108 of file tpl_hRbTreeRk.H.
Referenced by Aleph::HtdRbTreeRk< Key, Compare >::find_position(), Aleph::HtdRbTreeRk< Key, Compare >::getRoot(), Aleph::HtdRbTreeRk< Key, Compare >::getRoot(), Aleph::HtdRbTreeRk< Key, Compare >::insert(), Aleph::HtdRbTreeRk< Key, Compare >::insert_dup(), Aleph::HtdRbTreeRk< Key, Compare >::is_empty(), Aleph::HtdRbTreeRk< Key, Compare >::position(), Aleph::HtdRbTreeRk< Key, Compare >::remove(), Aleph::HtdRbTreeRk< Key, Compare >::removeAndFixBlackCondition(), Aleph::HtdRbTreeRk< Key, Compare >::reset(), Aleph::HtdRbTreeRk< Key, Compare >::restoreRedCondition(), Aleph::HtdRbTreeRk< Key, Compare >::search(), Aleph::HtdRbTreeRk< Key, Compare >::search_or_insert(), Aleph::HtdRbTreeRk< Key, Compare >::searchAndBuildPath(), Aleph::HtdRbTreeRk< Key, Compare >::searchFlipColorsAndInsert(), Aleph::HtdRbTreeRk< Key, Compare >::searchFlipColorsAndInsertDup(), Aleph::HtdRbTreeRk< Key, Compare >::select(), Aleph::HtdRbTreeRk< Key, Compare >::size(), Aleph::HtdRbTreeRk< Key, Compare >::split_pos(), Aleph::HtdRbTreeRk< Key, Compare >::swap(), and Aleph::HtdRbTreeRk< Key, Compare >::verify().