|
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 92 of file tpl_hRbTreeRk.H.
| using Aleph::HtdRbTreeRk< Key, Compare >::Color = unsigned char |
Definition at line 95 of file tpl_hRbTreeRk.H.
| using Aleph::HtdRbTreeRk< Key, Compare >::key_type = Key |
Definition at line 714 of file tpl_hRbTreeRk.H.
| using Aleph::HtdRbTreeRk< Key, Compare >::Node = RbNodeRk<Key> |
Definition at line 96 of file tpl_hRbTreeRk.H.
|
inlinenoexcept |
Definition at line 721 of file tpl_hRbTreeRk.H.
References Aleph::HtdRbTreeRk< Key, Compare >::init().
|
inlinenoexcept |
Definition at line 737 of file tpl_hRbTreeRk.H.
References Aleph::HtdRbTreeRk< Key, Compare >::init(), and Aleph::HtdRbTreeRk< Key, Compare >::swap().
|
delete |
|
virtualdefault |
|
inlineprivatenoexcept |
Definition at line 481 of file tpl_hRbTreeRk.H.
References BLACK, COLOR, Aleph::FixedStack< T >::is_empty(), Aleph::LLINK(), Aleph::maps(), Aleph::HtdRbTreeRk< Key, Compare >::path, RED, Aleph::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 564 of file tpl_hRbTreeRk.H.
References BLACK, COLOR, Aleph::LLINK(), Aleph::maps(), RED, and Aleph::RLINK().
Referenced by Aleph::HtdRbTreeRk< Key, Compare >::removeAndFixBlackCondition().
|
inlinestaticprivatenoexcept |
Definition at line 558 of file tpl_hRbTreeRk.H.
References BLACK, COLOR, Aleph::maps(), and RED.
Referenced by Aleph::HtdRbTreeRk< Key, Compare >::removeAndFixBlackCondition().
|
inlineprivatenoexcept |
Definition at line 532 of file tpl_hRbTreeRk.H.
References BLACK, COLOR, Aleph::FixedStack< T >::is_empty(), Aleph::LLINK(), Aleph::maps(), Aleph::HtdRbTreeRk< Key, Compare >::path, RED, Aleph::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 115 of file tpl_hRbTreeRk.H.
References Aleph::HtdRbTreeRk< Key, Compare >::cmp, and Aleph::maps().
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 886 of file tpl_hRbTreeRk.H.
References Aleph::HtdRbTreeRk< Key, Compare >::cmp, Aleph::HtdRbTreeRk< Key, Compare >::find_position(), Aleph::maps(), and Aleph::HtdRbTreeRk< Key, Compare >::root.
Referenced by Aleph::HtdRbTreeRk< Key, Compare >::find_position().
|
inlineprivatenoexcept |
Definition at line 428 of file tpl_hRbTreeRk.H.
References COLOR, Aleph::LLINK(), Aleph::maps(), Aleph::RbNodeRk< Key >::NullPtr, Aleph::HtdRbTreeRk< Key, Compare >::path, Aleph::FixedStack< T >::push(), Aleph::RLINK(), and Aleph::FixedStack< T >::top().
Referenced by Aleph::HtdRbTreeRk< Key, Compare >::removeAndFixBlackCondition().
|
inlinestaticprivatenoexcept |
Definition at line 227 of file tpl_hRbTreeRk.H.
References BLACK, COLOR, Aleph::LLINK(), Aleph::maps(), Aleph::RbNodeRk< Key >::NullPtr, RED, and Aleph::RLINK().
Referenced by Aleph::HtdRbTreeRk< Key, Compare >::searchFlipColorsAndInsert(), and Aleph::HtdRbTreeRk< Key, Compare >::searchFlipColorsAndInsertDup().
|
inlineconstexprnoexcept |
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.
|
inlinenoexcept |
Definition at line 851 of file tpl_hRbTreeRk.H.
References Aleph::HtdRbTreeRk< Key, Compare >::root.
|
inlinenoexcept |
Definition at line 850 of file tpl_hRbTreeRk.H.
References Aleph::HtdRbTreeRk< Key, Compare >::root.
|
inlinestaticprivatenoexcept |
Definition at line 118 of file tpl_hRbTreeRk.H.
References Aleph::LLINK(), Aleph::maps(), and Aleph::RLINK().
Referenced by Aleph::HtdRbTreeRk< Key, Compare >::removeAndFixBlackCondition().
|
inlineprivatenoexcept |
Definition at line 699 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 Aleph::RLINK().
Referenced by Aleph::HtdRbTreeRk< Key, Compare >::HtdRbTreeRk(), and Aleph::HtdRbTreeRk< Key, Compare >::HtdRbTreeRk().
|
inlinenoexcept |
Definition at line 767 of file tpl_hRbTreeRk.H.
References COLOR, Aleph::COUNT(), Aleph::maps(), 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 802 of file tpl_hRbTreeRk.H.
References COLOR, Aleph::COUNT(), Aleph::maps(), Aleph::RbNodeRk< Key >::NullPtr, RED, Aleph::HtdRbTreeRk< Key, Compare >::root, and Aleph::HtdRbTreeRk< Key, Compare >::searchFlipColorsAndInsertDup().
|
inlineconstexprnoexcept |
Definition at line 760 of file tpl_hRbTreeRk.H.
References Aleph::RbNodeRk< Key >::NullPtr, and Aleph::HtdRbTreeRk< Key, Compare >::root.
|
inlinenoexcept |
Definition at line 717 of file tpl_hRbTreeRk.H.
References Aleph::HtdRbTreeRk< Key, Compare >::cmp.
|
inlinenoexcept |
Definition at line 716 of file tpl_hRbTreeRk.H.
References Aleph::HtdRbTreeRk< Key, Compare >::cmp.
|
inlineprivatenoexcept |
Definition at line 112 of file tpl_hRbTreeRk.H.
References Aleph::HtdRbTreeRk< Key, Compare >::cmp, and Aleph::maps().
|
delete |
|
inlinenoexcept |
Definition at line 749 of file tpl_hRbTreeRk.H.
References Aleph::HtdRbTreeRk< Key, Compare >::swap().
|
inlinenoexcept |
Find position of a key.
| key | Key to find |
Definition at line 871 of file tpl_hRbTreeRk.H.
References Aleph::HtdRbTreeRk< Key, Compare >::cmp, Aleph::inorder_position(), Aleph::maps(), and Aleph::HtdRbTreeRk< Key, Compare >::root.
|
inlinenoexcept |
Definition at line 830 of file tpl_hRbTreeRk.H.
References Aleph::FixedStack< T >::empty(), Aleph::HtdRbTreeRk< Key, Compare >::equals(), KEY, Aleph::maps(), 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 900 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 590 of file tpl_hRbTreeRk.H.
References Aleph::HtdRbTreeRk< Key, Compare >::balanceDownAndColor(), BLACK, COLOR, Aleph::HtdRbTreeRk< Key, Compare >::colorParentAndSibling(), Aleph::HtdRbTreeRk< Key, Compare >::colorSiblingAsRed(), Aleph::HtdRbTreeRk< Key, Compare >::doubleRotateNephewAndColor(), Aleph::FixedStack< T >::empty(), Aleph::HtdRbTreeRk< Key, Compare >::findSuccAndSwap(), Aleph::HtdRbTreeRk< Key, Compare >::getSibling(), Aleph::LLINK(), Aleph::maps(), Aleph::RbNodeRk< Key >::NullPtr, Aleph::HtdRbTreeRk< Key, Compare >::path, Aleph::FixedStack< T >::pop(), Aleph::FixedStack< T >::popn(), RED, Aleph::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 765 of file tpl_hRbTreeRk.H.
References Aleph::RbNodeRk< Key >::NullPtr, and Aleph::HtdRbTreeRk< Key, Compare >::root.
|
inlineprivatenoexcept |
Definition at line 182 of file tpl_hRbTreeRk.H.
References BLACK, COLOR, Aleph::LLINK(), Aleph::maps(), RED, Aleph::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 158 of file tpl_hRbTreeRk.H.
References Aleph::COUNT(), Aleph::LLINK(), Aleph::maps(), Aleph::RbNodeRk< Key >::NullPtr, and Aleph::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 133 of file tpl_hRbTreeRk.H.
References Aleph::COUNT(), Aleph::LLINK(), Aleph::maps(), Aleph::RbNodeRk< Key >::NullPtr, and Aleph::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 511 of file tpl_hRbTreeRk.H.
References BLACK, COLOR, Aleph::FixedStack< T >::is_empty(), Aleph::LLINK(), Aleph::maps(), Aleph::HtdRbTreeRk< Key, Compare >::path, RED, Aleph::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 817 of file tpl_hRbTreeRk.H.
References Aleph::HtdRbTreeRk< Key, Compare >::equals(), KEY, Aleph::LLINK(), Aleph::maps(), Aleph::RbNodeRk< Key >::NullPtr, Aleph::RLINK(), and Aleph::HtdRbTreeRk< Key, Compare >::root.
Referenced by Aleph::HtdRbTreeRk< Key, Compare >::search_or_insert().
|
inlinenoexcept |
Definition at line 782 of file tpl_hRbTreeRk.H.
References COLOR, Aleph::COUNT(), Aleph::HtdRbTreeRk< Key, Compare >::insert(), KEY, Aleph::maps(), Aleph::RbNodeRk< Key >::NullPtr, RED, Aleph::HtdRbTreeRk< Key, Compare >::root, and Aleph::HtdRbTreeRk< Key, Compare >::search().
|
inlineprivatenoexcept |
Definition at line 397 of file tpl_hRbTreeRk.H.
References Aleph::HtdRbTreeRk< Key, Compare >::equals(), Aleph::HtdRbTreeRk< Key, Compare >::head, KEY, Aleph::LLINK(), Aleph::maps(), Aleph::RbNodeRk< Key >::NullPtr, Aleph::HtdRbTreeRk< Key, Compare >::path, Aleph::FixedStack< T >::push(), Aleph::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 242 of file tpl_hRbTreeRk.H.
References BLACK, COLOR, Aleph::COUNT(), 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, Aleph::LLINK(), Aleph::maps(), Aleph::RbNodeRk< Key >::NullPtr, RED, Aleph::HtdRbTreeRk< Key, Compare >::restoreRedCondition(), Aleph::RLINK(), and Aleph::HtdRbTreeRk< Key, Compare >::root.
Referenced by Aleph::HtdRbTreeRk< Key, Compare >::insert().
|
inlineprivatenoexcept |
Definition at line 321 of file tpl_hRbTreeRk.H.
References BLACK, COLOR, Aleph::COUNT(), Aleph::HtdRbTreeRk< Key, Compare >::ffHead, Aleph::HtdRbTreeRk< Key, Compare >::fHead, Aleph::HtdRbTreeRk< Key, Compare >::flipColors(), Aleph::HtdRbTreeRk< Key, Compare >::head, KEY, Aleph::LLINK(), Aleph::maps(), Aleph::RbNodeRk< Key >::NullPtr, RED, Aleph::HtdRbTreeRk< Key, Compare >::restoreRedCondition(), Aleph::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 861 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 763 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 918 of file tpl_hRbTreeRk.H.
References ah_out_of_range_error_if, Aleph::DynList< T >::insert(), Aleph::maps(), Aleph::RbNodeRk< Key >::NullPtr, Aleph::HtdRbTreeRk< Key, Compare >::remove_pos(), Aleph::HTList::reset(), Aleph::HtdRbTreeRk< Key, Compare >::root, Aleph::HTList::size(), and Aleph::HtdRbTreeRk< Key, Compare >::size().
|
inlinenoexcept |
Definition at line 731 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 575 of file tpl_hRbTreeRk.H.
References Aleph::COUNT(), Aleph::LLINK(), Aleph::RbNodeRk< Key >::NullPtr, Aleph::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 939 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 953 of file tpl_hRbTreeRk.H.
References Aleph::COUNT(), Aleph::LLINK(), Aleph::maps(), Aleph::RbNodeRk< Key >::NullPtr, Aleph::RLINK(), and Aleph::HtdRbTreeRk< Key, Compare >::verifyCountsRec().
Referenced by Aleph::HtdRbTreeRk< Key, Compare >::verify(), and Aleph::HtdRbTreeRk< Key, Compare >::verifyCountsRec().
|
private |
Definition at line 110 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 105 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 104 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 103 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 101 of file tpl_hRbTreeRk.H.
|
private |
Definition at line 99 of file tpl_hRbTreeRk.H.
|
private |
Definition at line 100 of file tpl_hRbTreeRk.H.
|
private |
Definition at line 108 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 106 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().