Bitcoin ABC  0.24.7
P2P Digital Currency
Public Member Functions | Private Member Functions | Private Attributes | Static Private Attributes | List of all members
RadixTree< T >::RadixElement Struct Reference
Collaboration diagram for RadixTree< T >::RadixElement:
[legend]

Public Member Functions

 RadixElement () noexcept
 
 RadixElement (RadixNode *nodeIn) noexcept
 
 RadixElement (T *leafIn) noexcept
 
void release ()
 RadixElement is designed to be a dumb wrapper. More...
 
bool isNode () const
 Node features. More...
 
RadixNodegetNode ()
 
const RadixNodegetNode () const
 
bool isLeaf () const
 Leaf features. More...
 
T * getLeaf ()
 
const T * getLeaf () const
 

Private Member Functions

bool getDiscriminant () const
 

Private Attributes

union {
   RadixNode *   node
 
   T *   leaf
 
   uintptr_t   raw
 
}; 
 

Static Private Attributes

static const uintptr_t DISCRIMINANT = 0x01
 

Detailed Description

template<typename T>
struct RadixTree< T >::RadixElement

Definition at line 186 of file radix.h.

Constructor & Destructor Documentation

◆ RadixElement() [1/3]

template<typename T >
RadixTree< T >::RadixElement::RadixElement ( )
inlineexplicitnoexcept

Definition at line 198 of file radix.h.

◆ RadixElement() [2/3]

template<typename T >
RadixTree< T >::RadixElement::RadixElement ( RadixNode nodeIn)
inlineexplicitnoexcept

Definition at line 199 of file radix.h.

◆ RadixElement() [3/3]

template<typename T >
RadixTree< T >::RadixElement::RadixElement ( T *  leafIn)
inlineexplicitnoexcept

Definition at line 200 of file radix.h.

Member Function Documentation

◆ getDiscriminant()

template<typename T >
bool RadixTree< T >::RadixElement::getDiscriminant ( ) const
inlineprivate

Definition at line 195 of file radix.h.

Here is the caller graph for this function:

◆ getLeaf() [1/2]

template<typename T >
T* RadixTree< T >::RadixElement::getLeaf ( )
inline

Definition at line 238 of file radix.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getLeaf() [2/2]

template<typename T >
const T* RadixTree< T >::RadixElement::getLeaf ( ) const
inline

Definition at line 243 of file radix.h.

Here is the call graph for this function:

◆ getNode() [1/2]

template<typename T >
RadixNode* RadixTree< T >::RadixElement::getNode ( )
inline

Definition at line 223 of file radix.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getNode() [2/2]

template<typename T >
const RadixNode* RadixTree< T >::RadixElement::getNode ( ) const
inline

Definition at line 228 of file radix.h.

Here is the call graph for this function:

◆ isLeaf()

template<typename T >
bool RadixTree< T >::RadixElement::isLeaf ( ) const
inline

Leaf features.

Definition at line 236 of file radix.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ isNode()

template<typename T >
bool RadixTree< T >::RadixElement::isNode ( ) const
inline

Node features.

Definition at line 221 of file radix.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ release()

template<typename T >
void RadixTree< T >::RadixElement::release ( )
inline

RadixElement is designed to be a dumb wrapper.

This allows any container to release what is held by the RadixElement.

Definition at line 208 of file radix.h.

Here is the call graph for this function:

Member Data Documentation

◆ @9

union { ... }

◆ DISCRIMINANT

template<typename T >
const uintptr_t RadixTree< T >::RadixElement::DISCRIMINANT = 0x01
staticprivate

Definition at line 194 of file radix.h.

◆ leaf

template<typename T >
T* RadixTree< T >::RadixElement::leaf

Definition at line 190 of file radix.h.

◆ node

template<typename T >
RadixNode* RadixTree< T >::RadixElement::node

Definition at line 189 of file radix.h.

◆ raw

template<typename T >
uintptr_t RadixTree< T >::RadixElement::raw

Definition at line 191 of file radix.h.


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