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

Extended Red-Black node with subtree counter. More...

#include <rbNodeRk.H>

Inheritance diagram for Aleph::RbNodeRk< Key >:
[legend]
Collaboration diagram for Aleph::RbNodeRk< Key >:
[legend]

Public Types

typedef Key key_type
 
typedef Key Key_Type
 

Public Member Functions

Key & get_key () noexcept
 
const Key & get_key () const noexcept
 
RbNodeRk *& getL () noexcept
 
RbNodeRk *& getR () noexcept
 
const RbNodeRkgetL () const noexcept
 
const RbNodeRkgetR () const noexcept
 
 RbNodeRk (const Key &k)
 
 RbNodeRk (Key &&k) noexcept
 
 RbNodeRk (const RbNodeRk_Data &control_data, const Key &k)
 
 RbNodeRk (const RbNodeRk &node)
 
 RbNodeRk (RbNodeRk &&node)
 
 RbNodeRk (const RbNodeRk_Data &control_data) noexcept
 
 RbNodeRk ()
 
void reset () noexcept
 
 RbNodeRk (SentinelCtor)
 
- Public Member Functions inherited from Aleph::RbNodeRk_Data
 RbNodeRk_Data () noexcept
 
 RbNodeRk_Data (SentinelCtor) noexcept
 
ColorgetColor () noexcept
 
size_tgetCount () noexcept
 
void reset () noexcept
 

Static Public Member Functions

static RbNodeRkkey_to_node (Key &__key) noexcept
 

Static Public Attributes

static const size_t MaxHeight = 128
 
static RbNodeRk *const NullPtr = & RbNodeRk <Key>::sentinel_node
 
static RbNodeRk sentinel_node
 

Private Attributes

Key key = Key()
 
RbNodeRklLink
 
RbNodeRkrLink
 

Detailed Description

template<typename Key>
class Aleph::RbNodeRk< Key >

Extended Red-Black node with subtree counter.

Definition at line 84 of file rbNodeRk.H.

Member Typedef Documentation

◆ key_type

template<typename Key >
typedef Key Aleph::RbNodeRk< Key >::key_type

Definition at line 84 of file rbNodeRk.H.

◆ Key_Type

template<typename Key >
typedef Key Aleph::RbNodeRk< Key >::Key_Type

Definition at line 84 of file rbNodeRk.H.

Constructor & Destructor Documentation

◆ RbNodeRk() [1/8]

template<typename Key >
Aleph::RbNodeRk< Key >::RbNodeRk ( const Key &  k)
inline

Definition at line 84 of file rbNodeRk.H.

◆ RbNodeRk() [2/8]

template<typename Key >
Aleph::RbNodeRk< Key >::RbNodeRk ( Key &&  k)
inlinenoexcept

Definition at line 84 of file rbNodeRk.H.

◆ RbNodeRk() [3/8]

template<typename Key >
Aleph::RbNodeRk< Key >::RbNodeRk ( const RbNodeRk_Data control_data,
const Key &  k 
)
inline

Definition at line 84 of file rbNodeRk.H.

◆ RbNodeRk() [4/8]

template<typename Key >
Aleph::RbNodeRk< Key >::RbNodeRk ( const RbNodeRk< Key > &  node)
inline

Definition at line 84 of file rbNodeRk.H.

◆ RbNodeRk() [5/8]

template<typename Key >
Aleph::RbNodeRk< Key >::RbNodeRk ( RbNodeRk< Key > &&  node)
inline

Definition at line 84 of file rbNodeRk.H.

◆ RbNodeRk() [6/8]

template<typename Key >
Aleph::RbNodeRk< Key >::RbNodeRk ( const RbNodeRk_Data control_data)
inlinenoexcept

Definition at line 84 of file rbNodeRk.H.

◆ RbNodeRk() [7/8]

template<typename Key >
Aleph::RbNodeRk< Key >::RbNodeRk ( )
inline

Definition at line 84 of file rbNodeRk.H.

◆ RbNodeRk() [8/8]

template<typename Key >
Aleph::RbNodeRk< Key >::RbNodeRk ( SentinelCtor  )
inline

Definition at line 84 of file rbNodeRk.H.

Member Function Documentation

◆ get_key() [1/2]

template<typename Key >
const Key & Aleph::RbNodeRk< Key >::get_key ( ) const
inlinenoexcept

Definition at line 84 of file rbNodeRk.H.

◆ get_key() [2/2]

template<typename Key >
Key & Aleph::RbNodeRk< Key >::get_key ( )
inlinenoexcept

Definition at line 84 of file rbNodeRk.H.

◆ getL() [1/2]

template<typename Key >
const RbNodeRk * Aleph::RbNodeRk< Key >::getL ( ) const
inlinenoexcept

Definition at line 84 of file rbNodeRk.H.

◆ getL() [2/2]

template<typename Key >
RbNodeRk *& Aleph::RbNodeRk< Key >::getL ( )
inlinenoexcept

Definition at line 84 of file rbNodeRk.H.

◆ getR() [1/2]

template<typename Key >
const RbNodeRk * Aleph::RbNodeRk< Key >::getR ( ) const
inlinenoexcept

Definition at line 84 of file rbNodeRk.H.

◆ getR() [2/2]

template<typename Key >
RbNodeRk *& Aleph::RbNodeRk< Key >::getR ( )
inlinenoexcept

Definition at line 84 of file rbNodeRk.H.

◆ key_to_node()

template<typename Key >
static RbNodeRk * Aleph::RbNodeRk< Key >::key_to_node ( Key &  __key)
inlinestaticnoexcept

Definition at line 84 of file rbNodeRk.H.

◆ reset()

template<typename Key >
void Aleph::RbNodeRk< Key >::reset ( )
inlinenoexcept

Definition at line 84 of file rbNodeRk.H.

Referenced by Aleph::HtdRbTreeRk< Key, Compare >::remove().

Member Data Documentation

◆ key

template<typename Key >
Key Aleph::RbNodeRk< Key >::key = Key()
private

Definition at line 84 of file rbNodeRk.H.

◆ lLink

template<typename Key >
RbNodeRk* Aleph::RbNodeRk< Key >::lLink
private

Definition at line 84 of file rbNodeRk.H.

◆ MaxHeight

template<typename Key >
const size_t Aleph::RbNodeRk< Key >::MaxHeight = 128
static

Definition at line 84 of file rbNodeRk.H.

◆ NullPtr

◆ rLink

template<typename Key >
RbNodeRk* Aleph::RbNodeRk< Key >::rLink
private

Definition at line 84 of file rbNodeRk.H.

◆ sentinel_node

template<typename Key >
RbNodeRk< Key > Aleph::RbNodeRk< Key >::sentinel_node
static

Definition at line 84 of file rbNodeRk.H.


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