Aleph-w 3.0
A C++ Library for Data Structures and Algorithms
Loading...
Searching...
No Matches
Aleph::GenTdRbTreeRk< NodeType, Key, Compare > Class Template Reference

Top-down red-black tree with rank support (select/position). More...

#include <tpl_tdRbTreeRk.H>

Inheritance diagram for Aleph::GenTdRbTreeRk< NodeType, Key, Compare >:
[legend]

Classes

struct  Iterator
 Iterator. More...
 

Public Types

using Node = NodeType< Key >
 
using key_type = Key
 
using compare_type = Compare
 

Public Member Functions

 GenTdRbTreeRk () noexcept
 Default constructor.
 
 GenTdRbTreeRk (const Compare &__cmp) noexcept
 Constructor with comparator.
 
 GenTdRbTreeRk (GenTdRbTreeRk &&other) noexcept
 Move constructor.
 
GenTdRbTreeRkoperator= (GenTdRbTreeRk &&other) noexcept
 Move assignment.
 
 GenTdRbTreeRk (const GenTdRbTreeRk &)=delete
 
GenTdRbTreeRkoperator= (const GenTdRbTreeRk &)=delete
 
void reset () noexcept
 Reset tree (does not free nodes)
 
void swap (GenTdRbTreeRk &other) noexcept
 Swap with another tree.
 
virtual ~GenTdRbTreeRk ()=default
 
size_t size () const noexcept
 Get number of nodes O(1)
 
bool is_empty () const noexcept
 Check if empty.
 
Compare & get_compare () noexcept
 Get comparator.
 
const Compare & get_compare () const noexcept
 
Nodeinsert (Node *p) noexcept
 Insert a node.
 
Nodeinsert_dup (Node *p) noexcept
 Insert a node allowing duplicates.
 
Nodesearch_or_insert (Node *p) noexcept
 Search or insert.
 
Nodesearch (const Key &key) const noexcept
 Search for a key.
 
Noderemove (const Key &key) noexcept
 Remove node with given key.
 
Node *& getRoot () noexcept
 Get root pointer.
 
NodegetRoot () const noexcept
 
Nodeselect (size_t i) const
 Select i-th node in order.
 
std::pair< long, Node * > position (const Key &key) const noexcept
 Find position of a key.
 
std::pair< long, Node * > find_position (const Key &key) const noexcept
 Find position of a key (even if not in tree).
 
Noderemove_pos (size_t i)
 Remove node at position i.
 
void split_pos (size_t pos, GenTdRbTreeRk &t1, GenTdRbTreeRk &t2) noexcept
 Split tree by position.
 
bool verify () const noexcept
 Verify tree properties.
 

Private Member Functions

bool less (const Key &a, const Key &b) const noexcept
 Returns true if a < b according to comparator.
 
bool equals (const Key &a, const Key &b) const noexcept
 Returns true if a == b (neither a < b nor b < a)
 
void restoreRedCondition (Node *p, Node *&fp, Node *ffp, Node *fffp) noexcept
 Restore red-black property after color flip.
 
NodesearchFlipColorsAndInsert (Node *q) noexcept
 Search for insertion point, flipping colors proactively.
 
NodesearchFlipColorsAndInsertDup (Node *q) noexcept
 Search for insertion point allowing duplicates.
 
void colorRootAsRed () noexcept
 Color root red if safe.
 
NodesearchAndColorRed (const Key &key, Node *&fp, Node **stack, size_t &stack_len) noexcept
 Search for key while coloring nodes red for deletion.
 
void init () noexcept
 Initialize header nodes.
 
void split_pos_inorder (Node *p, size_t pos, GenTdRbTreeRk &t1, GenTdRbTreeRk &t2, size_t &count) noexcept
 

Static Private Member Functions

static Noderotate_to_right_rk (Node *p, Node *pp) noexcept
 Rotate to right with counter update.
 
static Noderotate_to_left_rk (Node *p, Node *pp) noexcept
 Rotate to left with counter update.
 
static void flipColors (Node *p) noexcept
 Flip colors with counter preservation.
 
static size_t updateCountRec (Node *p) noexcept
 Recursively update counts in subtree - O(n)
 
static void updateCountsFromStack (Node **stack, size_t len) noexcept
 Update counts for nodes in stack (bottom-up) - O(log n) After rotations, nodes may have moved but their counts can be recalculated from their current children.
 
static NodegotoLeftAndColorRed (Node *fp, Node *&ffp) noexcept
 Descend to left child for deletion, ensuring red.
 
static NodegotoRightAndColorRed (Node *fp, Node *&ffp) noexcept
 Descend to right child for deletion, ensuring red.
 
static void findSuccAndSwap (Node *p, Node *&fp) noexcept
 Find successor and swap for deletion.
 
static void findPredAndSwap (Node *p, Node *&fp) noexcept
 Find predecessor and swap for deletion.
 
static void removeAndRendLeafRed (Node *p, Node *fp) noexcept
 Remove node, making it a red leaf.
 

Private Attributes

Node headNode
 Sentinel header node (parent of root)
 
Node headParent
 Sentinel grandparent node.
 
Nodehead
 Pointer to header.
 
NodefHead
 Pointer to header's parent.
 
Node *& root
 Reference to root (right child of head)
 
Compare cmp
 Comparison functor.
 

Detailed Description

template<template< class > class NodeType, typename Key, class Compare = std::less<Key>>
class Aleph::GenTdRbTreeRk< NodeType, Key, Compare >

Top-down red-black tree with rank support (select/position).

This class extends the top-down red-black tree algorithm with subtree counters in each node, enabling O(log n) operations for:

  • select(i): Get the i-th smallest element
  • position(key): Get the rank/position of a key
  • find_position(key): Find position even if key doesn't exist
  • split_pos(pos, t1, t2): Split tree by position
Complexity:
  • search, select, position: O(log n)
  • insert: O(log n) - uses stack for count updates
  • remove: O(n) - swaps make incremental updates unreliable

For O(log n) remove with rank, use Rb_Tree_Rk (bottom-up) which tracks the full path during descent.

Advantages over bottom-up:
  • Single-pass descent for insert (rotations done on the way down)
  • O(1) size() operation
  • O(log n) indexed access (select)
  • O(log n) position queries
Template Parameters
NodeTypeNode template (typically RbNodeRk or RbNodeRkVtl).
KeyThe type of keys stored in the tree.
CompareComparison functor for ordering keys.
See also
Gen_Rb_Tree_Rk Bottom-up red-black tree with rank support.
GenTdRbTree Top-down red-black tree without rank support.

Definition at line 96 of file tpl_tdRbTreeRk.H.

Member Typedef Documentation

◆ compare_type

template<template< class > class NodeType, typename Key , class Compare = std::less<Key>>
using Aleph::GenTdRbTreeRk< NodeType, Key, Compare >::compare_type = Compare

Definition at line 101 of file tpl_tdRbTreeRk.H.

◆ key_type

template<template< class > class NodeType, typename Key , class Compare = std::less<Key>>
using Aleph::GenTdRbTreeRk< NodeType, Key, Compare >::key_type = Key

Definition at line 100 of file tpl_tdRbTreeRk.H.

◆ Node

template<template< class > class NodeType, typename Key , class Compare = std::less<Key>>
using Aleph::GenTdRbTreeRk< NodeType, Key, Compare >::Node = NodeType<Key>

Definition at line 99 of file tpl_tdRbTreeRk.H.

Constructor & Destructor Documentation

◆ GenTdRbTreeRk() [1/4]

template<template< class > class NodeType, typename Key , class Compare = std::less<Key>>
Aleph::GenTdRbTreeRk< NodeType, Key, Compare >::GenTdRbTreeRk ( )
inlinenoexcept

Default constructor.

Definition at line 690 of file tpl_tdRbTreeRk.H.

References Aleph::GenTdRbTreeRk< NodeType, Key, Compare >::init().

◆ GenTdRbTreeRk() [2/4]

template<template< class > class NodeType, typename Key , class Compare = std::less<Key>>
Aleph::GenTdRbTreeRk< NodeType, Key, Compare >::GenTdRbTreeRk ( const Compare &  __cmp)
inlineexplicitnoexcept

Constructor with comparator.

Definition at line 697 of file tpl_tdRbTreeRk.H.

References Aleph::GenTdRbTreeRk< NodeType, Key, Compare >::init().

◆ GenTdRbTreeRk() [3/4]

template<template< class > class NodeType, typename Key , class Compare = std::less<Key>>
Aleph::GenTdRbTreeRk< NodeType, Key, Compare >::GenTdRbTreeRk ( GenTdRbTreeRk< NodeType, Key, Compare > &&  other)
inlinenoexcept

◆ GenTdRbTreeRk() [4/4]

template<template< class > class NodeType, typename Key , class Compare = std::less<Key>>
Aleph::GenTdRbTreeRk< NodeType, Key, Compare >::GenTdRbTreeRk ( const GenTdRbTreeRk< NodeType, Key, Compare > &  )
delete

◆ ~GenTdRbTreeRk()

template<template< class > class NodeType, typename Key , class Compare = std::less<Key>>
virtual Aleph::GenTdRbTreeRk< NodeType, Key, Compare >::~GenTdRbTreeRk ( )
virtualdefault

Member Function Documentation

◆ colorRootAsRed()

template<template< class > class NodeType, typename Key , class Compare = std::less<Key>>
void Aleph::GenTdRbTreeRk< NodeType, Key, Compare >::colorRootAsRed ( )
inlineprivatenoexcept

◆ equals()

◆ find_position()

template<template< class > class NodeType, typename Key , class Compare = std::less<Key>>
std::pair< long, Node * > Aleph::GenTdRbTreeRk< NodeType, Key, Compare >::find_position ( const Key &  key) const
inlinenoexcept

◆ findPredAndSwap()

template<template< class > class NodeType, typename Key , class Compare = std::less<Key>>
static void Aleph::GenTdRbTreeRk< NodeType, Key, Compare >::findPredAndSwap ( Node p,
Node *&  fp 
)
inlinestaticprivatenoexcept

◆ findSuccAndSwap()

template<template< class > class NodeType, typename Key , class Compare = std::less<Key>>
static void Aleph::GenTdRbTreeRk< NodeType, Key, Compare >::findSuccAndSwap ( Node p,
Node *&  fp 
)
inlinestaticprivatenoexcept

◆ flipColors()

template<template< class > class NodeType, typename Key , class Compare = std::less<Key>>
static void Aleph::GenTdRbTreeRk< NodeType, Key, Compare >::flipColors ( Node p)
inlinestaticprivatenoexcept

◆ get_compare() [1/2]

template<template< class > class NodeType, typename Key , class Compare = std::less<Key>>
const Compare & Aleph::GenTdRbTreeRk< NodeType, Key, Compare >::get_compare ( ) const
inlinenoexcept

◆ get_compare() [2/2]

template<template< class > class NodeType, typename Key , class Compare = std::less<Key>>
Compare & Aleph::GenTdRbTreeRk< NodeType, Key, Compare >::get_compare ( )
inlinenoexcept

Get comparator.

Definition at line 750 of file tpl_tdRbTreeRk.H.

References Aleph::GenTdRbTreeRk< NodeType, Key, Compare >::cmp.

◆ getRoot() [1/2]

template<template< class > class NodeType, typename Key , class Compare = std::less<Key>>
Node * Aleph::GenTdRbTreeRk< NodeType, Key, Compare >::getRoot ( ) const
inlinenoexcept

◆ getRoot() [2/2]

template<template< class > class NodeType, typename Key , class Compare = std::less<Key>>
Node *& Aleph::GenTdRbTreeRk< NodeType, Key, Compare >::getRoot ( )
inlinenoexcept

Get root pointer.

Definition at line 860 of file tpl_tdRbTreeRk.H.

References Aleph::GenTdRbTreeRk< NodeType, Key, Compare >::root.

◆ gotoLeftAndColorRed()

◆ gotoRightAndColorRed()

◆ init()

◆ insert()

template<template< class > class NodeType, typename Key , class Compare = std::less<Key>>
Node * Aleph::GenTdRbTreeRk< NodeType, Key, Compare >::insert ( Node p)
inlinenoexcept

Insert a node.

Returns
Pointer to inserted node, or nullptr if duplicate.

Definition at line 756 of file tpl_tdRbTreeRk.H.

References COLOR, Aleph::COUNT(), Aleph::maps(), RED, Aleph::GenTdRbTreeRk< NodeType, Key, Compare >::root, and Aleph::GenTdRbTreeRk< NodeType, Key, Compare >::searchFlipColorsAndInsert().

Referenced by TEST(), and TEST().

◆ insert_dup()

template<template< class > class NodeType, typename Key , class Compare = std::less<Key>>
Node * Aleph::GenTdRbTreeRk< NodeType, Key, Compare >::insert_dup ( Node p)
inlinenoexcept

Insert a node allowing duplicates.

Returns
Pointer to inserted node.

Definition at line 774 of file tpl_tdRbTreeRk.H.

References COLOR, Aleph::COUNT(), Aleph::maps(), RED, Aleph::GenTdRbTreeRk< NodeType, Key, Compare >::root, and Aleph::GenTdRbTreeRk< NodeType, Key, Compare >::searchFlipColorsAndInsertDup().

◆ is_empty()

template<template< class > class NodeType, typename Key , class Compare = std::less<Key>>
bool Aleph::GenTdRbTreeRk< NodeType, Key, Compare >::is_empty ( ) const
inlinenoexcept

Check if empty.

Definition at line 747 of file tpl_tdRbTreeRk.H.

References Aleph::GenTdRbTreeRk< NodeType, Key, Compare >::root.

◆ less()

template<template< class > class NodeType, typename Key , class Compare = std::less<Key>>
bool Aleph::GenTdRbTreeRk< NodeType, Key, Compare >::less ( const Key &  a,
const Key &  b 
) const
inlineprivatenoexcept

Returns true if a < b according to comparator.

Definition at line 112 of file tpl_tdRbTreeRk.H.

References Aleph::GenTdRbTreeRk< NodeType, Key, Compare >::cmp.

◆ operator=() [1/2]

template<template< class > class NodeType, typename Key , class Compare = std::less<Key>>
GenTdRbTreeRk & Aleph::GenTdRbTreeRk< NodeType, Key, Compare >::operator= ( const GenTdRbTreeRk< NodeType, Key, Compare > &  )
delete

◆ operator=() [2/2]

template<template< class > class NodeType, typename Key , class Compare = std::less<Key>>
GenTdRbTreeRk & Aleph::GenTdRbTreeRk< NodeType, Key, Compare >::operator= ( GenTdRbTreeRk< NodeType, Key, Compare > &&  other)
inlinenoexcept

◆ position()

template<template< class > class NodeType, typename Key , class Compare = std::less<Key>>
std::pair< long, Node * > Aleph::GenTdRbTreeRk< NodeType, Key, Compare >::position ( const Key &  key) const
inlinenoexcept

Find position of a key.

Returns
Pair of (position, node pointer). Position is -1 if not found.

Definition at line 878 of file tpl_tdRbTreeRk.H.

References Aleph::GenTdRbTreeRk< NodeType, Key, Compare >::cmp, Aleph::inorder_position(), Aleph::maps(), and Aleph::GenTdRbTreeRk< NodeType, Key, Compare >::root.

◆ remove()

template<template< class > class NodeType, typename Key , class Compare = std::less<Key>>
Node * Aleph::GenTdRbTreeRk< NodeType, Key, Compare >::remove ( const Key &  key)
inlinenoexcept

Remove node with given key.

Returns
Pointer to removed node, or nullptr if not found.
Note
Count update uses stack collected during search - O(log n) amortized, but may need full recalc after complex swaps.

Definition at line 831 of file tpl_tdRbTreeRk.H.

References Aleph::GenTdRbTreeRk< NodeType, Key, Compare >::equals(), KEY, Aleph::maps(), Aleph::GenTdRbTreeRk< NodeType, Key, Compare >::removeAndRendLeafRed(), Aleph::GenTdRbTreeRk< NodeType, Key, Compare >::root, Aleph::GenTdRbTreeRk< NodeType, Key, Compare >::searchAndColorRed(), and Aleph::GenTdRbTreeRk< NodeType, Key, Compare >::updateCountRec().

Referenced by Aleph::GenTdRbTreeRk< NodeType, Key, Compare >::remove_pos(), and TEST().

◆ remove_pos()

template<template< class > class NodeType, typename Key , class Compare = std::less<Key>>
Node * Aleph::GenTdRbTreeRk< NodeType, Key, Compare >::remove_pos ( size_t  i)
inline

Remove node at position i.

Parameters
iZero-based position.
Returns
Pointer to removed node.

Definition at line 901 of file tpl_tdRbTreeRk.H.

References KEY, Aleph::GenTdRbTreeRk< NodeType, Key, Compare >::remove(), and Aleph::GenTdRbTreeRk< NodeType, Key, Compare >::select().

◆ removeAndRendLeafRed()

template<template< class > class NodeType, typename Key , class Compare = std::less<Key>>
static void Aleph::GenTdRbTreeRk< NodeType, Key, Compare >::removeAndRendLeafRed ( Node p,
Node fp 
)
inlinestaticprivatenoexcept

◆ reset()

template<template< class > class NodeType, typename Key , class Compare = std::less<Key>>
void Aleph::GenTdRbTreeRk< NodeType, Key, Compare >::reset ( )
inlinenoexcept

Reset tree (does not free nodes)

Definition at line 729 of file tpl_tdRbTreeRk.H.

References Aleph::GenTdRbTreeRk< NodeType, Key, Compare >::root.

◆ restoreRedCondition()

◆ rotate_to_left_rk()

template<template< class > class NodeType, typename Key , class Compare = std::less<Key>>
static Node * Aleph::GenTdRbTreeRk< NodeType, Key, Compare >::rotate_to_left_rk ( Node p,
Node pp 
)
inlinestaticprivatenoexcept

◆ rotate_to_right_rk()

template<template< class > class NodeType, typename Key , class Compare = std::less<Key>>
static Node * Aleph::GenTdRbTreeRk< NodeType, Key, Compare >::rotate_to_right_rk ( Node p,
Node pp 
)
inlinestaticprivatenoexcept

◆ search()

template<template< class > class NodeType, typename Key , class Compare = std::less<Key>>
Node * Aleph::GenTdRbTreeRk< NodeType, Key, Compare >::search ( const Key &  key) const
inlinenoexcept

◆ search_or_insert()

template<template< class > class NodeType, typename Key , class Compare = std::less<Key>>
Node * Aleph::GenTdRbTreeRk< NodeType, Key, Compare >::search_or_insert ( Node p)
inlinenoexcept

◆ searchAndColorRed()

◆ searchFlipColorsAndInsert()

◆ searchFlipColorsAndInsertDup()

◆ select()

template<template< class > class NodeType, typename Key , class Compare = std::less<Key>>
Node * Aleph::GenTdRbTreeRk< NodeType, Key, Compare >::select ( size_t  i) const
inline

Select i-th node in order.

Parameters
iZero-based position.
Returns
Pointer to i-th node.
Exceptions
out_of_rangeif i >= size().

Definition at line 870 of file tpl_tdRbTreeRk.H.

References Aleph::GenTdRbTreeRk< NodeType, Key, Compare >::root, and Aleph::select().

Referenced by Aleph::GenTdRbTreeRk< NodeType, Key, Compare >::remove_pos(), and TEST().

◆ size()

template<template< class > class NodeType, typename Key , class Compare = std::less<Key>>
size_t Aleph::GenTdRbTreeRk< NodeType, Key, Compare >::size ( ) const
inlinenoexcept

◆ split_pos()

template<template< class > class NodeType, typename Key , class Compare = std::less<Key>>
void Aleph::GenTdRbTreeRk< NodeType, Key, Compare >::split_pos ( size_t  pos,
GenTdRbTreeRk< NodeType, Key, Compare > &  t1,
GenTdRbTreeRk< NodeType, Key, Compare > &  t2 
)
inlinenoexcept

Split tree by position.

Parameters
posSplit position.
t1Receives nodes [0, pos).
t2Receives nodes [pos, size).

Definition at line 914 of file tpl_tdRbTreeRk.H.

References Aleph::count(), Aleph::maps(), Aleph::GenTdRbTreeRk< NodeType, Key, Compare >::root, Aleph::GenTdRbTreeRk< NodeType, Key, Compare >::size(), and Aleph::GenTdRbTreeRk< NodeType, Key, Compare >::split_pos_inorder().

◆ split_pos_inorder()

template<template< class > class NodeType, typename Key , class Compare = std::less<Key>>
void Aleph::GenTdRbTreeRk< NodeType, Key, Compare >::split_pos_inorder ( Node p,
size_t  pos,
GenTdRbTreeRk< NodeType, Key, Compare > &  t1,
GenTdRbTreeRk< NodeType, Key, Compare > &  t2,
size_t count 
)
inlineprivatenoexcept

◆ swap()

template<template< class > class NodeType, typename Key , class Compare = std::less<Key>>
void Aleph::GenTdRbTreeRk< NodeType, Key, Compare >::swap ( GenTdRbTreeRk< NodeType, Key, Compare > &  other)
inlinenoexcept

◆ updateCountRec()

template<template< class > class NodeType, typename Key , class Compare = std::less<Key>>
static size_t Aleph::GenTdRbTreeRk< NodeType, Key, Compare >::updateCountRec ( Node p)
inlinestaticprivatenoexcept

◆ updateCountsFromStack()

template<template< class > class NodeType, typename Key , class Compare = std::less<Key>>
static void Aleph::GenTdRbTreeRk< NodeType, Key, Compare >::updateCountsFromStack ( Node **  stack,
size_t  len 
)
inlinestaticprivatenoexcept

Update counts for nodes in stack (bottom-up) - O(log n) After rotations, nodes may have moved but their counts can be recalculated from their current children.

Definition at line 379 of file tpl_tdRbTreeRk.H.

References Aleph::COUNT(), Aleph::LLINK(), and Aleph::RLINK().

Referenced by Aleph::GenTdRbTreeRk< NodeType, Key, Compare >::searchFlipColorsAndInsert(), and Aleph::GenTdRbTreeRk< NodeType, Key, Compare >::searchFlipColorsAndInsertDup().

◆ verify()

template<template< class > class NodeType, typename Key , class Compare = std::less<Key>>
bool Aleph::GenTdRbTreeRk< NodeType, Key, Compare >::verify ( ) const
inlinenoexcept

Member Data Documentation

◆ cmp

◆ fHead

◆ head

◆ headNode

template<template< class > class NodeType, typename Key , class Compare = std::less<Key>>
Node Aleph::GenTdRbTreeRk< NodeType, Key, Compare >::headNode
private

Sentinel header node (parent of root)

Definition at line 104 of file tpl_tdRbTreeRk.H.

◆ headParent

template<template< class > class NodeType, typename Key , class Compare = std::less<Key>>
Node Aleph::GenTdRbTreeRk< NodeType, Key, Compare >::headParent
private

Sentinel grandparent node.

Definition at line 105 of file tpl_tdRbTreeRk.H.

◆ root

template<template< class > class NodeType, typename Key , class Compare = std::less<Key>>
Node*& Aleph::GenTdRbTreeRk< NodeType, Key, Compare >::root
private

Reference to root (right child of head)

Definition at line 108 of file tpl_tdRbTreeRk.H.

Referenced by Aleph::GenTdRbTreeRk< NodeType, Key, Compare >::GenTdRbTreeRk(), Aleph::GenTdRbTreeRk< NodeType, Key, Compare >::colorRootAsRed(), Aleph::GenTdRbTreeRk< NodeType, Key, Compare >::find_position(), Aleph::GenTdRbTreeRk< NodeType, Key, Compare >::getRoot(), Aleph::GenTdRbTreeRk< NodeType, Key, Compare >::getRoot(), Aleph::GenTdRbTreeRk< NodeType, Key, Compare >::insert(), Aleph::GenTdRbTreeRk< NodeType, Key, Compare >::insert_dup(), Aleph::GenTdRbTreeRk< NodeType, Key, Compare >::is_empty(), Aleph::GenTdRbTreeRk< NodeType, Key, Compare >::operator=(), Aleph::GenTdRbTreeRk< NodeType, Key, Compare >::position(), Aleph::GenTdRbTreeRk< NodeType, Key, Compare >::remove(), Aleph::GenTdRbTreeRk< NodeType, Key, Compare >::reset(), Aleph::GenTdRbTreeRk< NodeType, Key, Compare >::restoreRedCondition(), Aleph::GenTdRbTreeRk< NodeType, Key, Compare >::search(), Aleph::GenTdRbTreeRk< NodeType, Key, Compare >::search_or_insert(), Aleph::GenTdRbTreeRk< NodeType, Key, Compare >::searchAndColorRed(), Aleph::GenTdRbTreeRk< NodeType, Key, Compare >::searchFlipColorsAndInsert(), Aleph::GenTdRbTreeRk< NodeType, Key, Compare >::searchFlipColorsAndInsertDup(), Aleph::GenTdRbTreeRk< NodeType, Key, Compare >::select(), Aleph::GenTdRbTreeRk< NodeType, Key, Compare >::size(), Aleph::GenTdRbTreeRk< NodeType, Key, Compare >::split_pos(), Aleph::GenTdRbTreeRk< NodeType, Key, Compare >::swap(), and Aleph::GenTdRbTreeRk< NodeType, Key, Compare >::verify().


The documentation for this class was generated from the following file: