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

Declare AvlNode type with 40-byte pool allocation. More...

#include <avlNode.H>

Inheritance diagram for AvlNode< Key >:
[legend]
Collaboration diagram for AvlNode< 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
 
AvlNode *& getL () noexcept
 
AvlNode *& getR () noexcept
 
const AvlNodegetL () const noexcept
 
const AvlNodegetR () const noexcept
 
 AvlNode (const Key &k)
 
 AvlNode (Key &&k) noexcept
 
 AvlNode (const AvlNode_Data &control_data, const Key &k)
 
 AvlNode (const AvlNode &node)
 
 AvlNode (AvlNode &&node)
 
 AvlNode (const AvlNode_Data &control_data) noexcept
 
 AvlNode ()
 
void reset () noexcept
 
- Public Member Functions inherited from AvlNode_Data
 AvlNode_Data () noexcept
 Default constructor initializes balance to 0 (equal heights)
 
signed chargetDiff () noexcept
 Get reference to balance factor.
 
void reset () noexcept
 Reset balance factor to 0 (for reuse)
 

Static Public Member Functions

static AvlNodekey_to_node (Key &__key) noexcept
 

Static Public Attributes

static const size_t MaxHeight = 40
 
static AvlNode *const NullPtr = nullptr
 

Private Attributes

Key key = Key()
 
AvlNodelLink
 
AvlNoderLink
 

Detailed Description

template<typename Key>
class AvlNode< Key >

Declare AvlNode type with 40-byte pool allocation.

Definition at line 98 of file avlNode.H.

Member Typedef Documentation

◆ key_type

template<typename Key >
typedef Key AvlNode< Key >::key_type

Definition at line 98 of file avlNode.H.

◆ Key_Type

template<typename Key >
typedef Key AvlNode< Key >::Key_Type

Definition at line 98 of file avlNode.H.

Constructor & Destructor Documentation

◆ AvlNode() [1/7]

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

Definition at line 98 of file avlNode.H.

◆ AvlNode() [2/7]

template<typename Key >
AvlNode< Key >::AvlNode ( Key &&  k)
inlinenoexcept

Definition at line 98 of file avlNode.H.

◆ AvlNode() [3/7]

template<typename Key >
AvlNode< Key >::AvlNode ( const AvlNode_Data control_data,
const Key &  k 
)
inline

Definition at line 98 of file avlNode.H.

◆ AvlNode() [4/7]

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

Definition at line 98 of file avlNode.H.

◆ AvlNode() [5/7]

template<typename Key >
AvlNode< Key >::AvlNode ( AvlNode< Key > &&  node)
inline

Definition at line 98 of file avlNode.H.

◆ AvlNode() [6/7]

template<typename Key >
AvlNode< Key >::AvlNode ( const AvlNode_Data control_data)
inlinenoexcept

Definition at line 98 of file avlNode.H.

◆ AvlNode() [7/7]

template<typename Key >
AvlNode< Key >::AvlNode ( )
inline

Definition at line 98 of file avlNode.H.

Member Function Documentation

◆ get_key() [1/2]

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

Definition at line 98 of file avlNode.H.

◆ get_key() [2/2]

template<typename Key >
Key & AvlNode< Key >::get_key ( )
inlinenoexcept

Definition at line 98 of file avlNode.H.

◆ getL() [1/2]

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

Definition at line 98 of file avlNode.H.

◆ getL() [2/2]

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

Definition at line 98 of file avlNode.H.

◆ getR() [1/2]

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

Definition at line 98 of file avlNode.H.

◆ getR() [2/2]

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

Definition at line 98 of file avlNode.H.

◆ key_to_node()

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

Definition at line 98 of file avlNode.H.

◆ reset()

template<typename Key >
void AvlNode< Key >::reset ( )
inlinenoexcept

Definition at line 98 of file avlNode.H.

Member Data Documentation

◆ key

template<typename Key >
Key AvlNode< Key >::key = Key()
private

Definition at line 98 of file avlNode.H.

◆ lLink

template<typename Key >
AvlNode* AvlNode< Key >::lLink
private

Definition at line 98 of file avlNode.H.

◆ MaxHeight

template<typename Key >
const size_t AvlNode< Key >::MaxHeight = 40
static

Definition at line 98 of file avlNode.H.

◆ NullPtr

template<typename Key >
AvlNode< Key > *const AvlNode< Key >::NullPtr = nullptr
static

Definition at line 98 of file avlNode.H.

◆ rLink

template<typename Key >
AvlNode* AvlNode< Key >::rLink
private

Definition at line 98 of file avlNode.H.


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