HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
UT_ARTNode48< T > Class Template Referencefinal

#include <UT_ARTMap.h>

+ Inheritance diagram for UT_ARTNode48< T >:

Public Types

using parent_t = UT_ARTNode< T >
 
using parent_ptr_t = UT_ARTNodePtr< parent_t >
 
- Public Types inherited from UT_ARTNode< T >
using value_type = T
 

Public Member Functions

 UT_ARTNode48 (const UT_StringHolder &key, UT_StringView prefix)
 
 UT_NON_COPYABLE (UT_ARTNode48)
 
 ~UT_ARTNode48 () override
 
const UT_StringHoldertype () const override
 
bool isFull () const override
 
parent_t ** insertChild (parent_t **ref, parent_ptr_t child) override
 
parent_ptr_t stealChild (parent_t **ref, parent_t *child) override
 
parent_t ** findPartialPrefixChild (const UT_StringView &prefix) override
 
parent_tnextChild (int &index) override
 
const parent_tnextChild (int &index) const override
 
parent_ptr_t stealChild (parent_t **ref, int idx) override
 
- Public Member Functions inherited from UT_ARTNode< T >
 UT_ARTNode (const UT_StringHolder &key, const UT_StringView &prefix)
 
virtual ~UT_ARTNode ()=default
 
 UT_NON_COPYABLE (UT_ARTNode)
 
UT_StringHolder key () const
 
SYS_FORCE_INLINE const value_typevalue () const
 
template<typename... Args>
void emplace (Args &&...args)
 
SYS_FORCE_INLINE value_typevalue ()
 
SYS_FORCE_INLINE bool hasValue () const
 
SYS_FORCE_INLINE const
UT_StringView
prefix () const
 
SYS_FORCE_INLINE bool isLeaf () const
 
SYS_FORCE_INLINE bool allowsPartial () const
 
void setAllowsPartial (bool allow)
 
void debug (UT_WorkBuffer &wbuf, unsigned indent=0) const
 
void compress (UT_ARTNode< T > **ref)
 
virtual UT_ARTNode< T > ** insertChild (UT_ARTNode **ref, UT_ARTNodePtr< UT_ARTNode< T >> node)=0
 
void moveChildren (UT_ARTNode< T > **ref)
 
exint getCommonPrefixLength (const UT_StringView &key, const UT_StringView &node_prefix)
 
void moveHeader (UT_ARTNode< T > &move_to)
 
template<typename NodeT >
UT_ARTNodePtr< NodeT > newNode ()
 

Public Attributes

unsigned char myChildKeys [256]
 
parent_tmyChildren [48] = {}
 
- Public Attributes inherited from UT_ARTNode< T >
UT_StringHolder myKey
 
UT_StringView myPrefix
 
UT_Optional< value_typemyValue
 
bool myAllowsPartial = false
 
uint8_t myNumChildren = 0
 

Additional Inherited Members

- Static Public Member Functions inherited from UT_ARTNode< T >
static void destroy (UT_ARTNode< T > *node)
 

Detailed Description

template<typename T>
class UT_ARTNode48< T >

Definition at line 568 of file UT_ARTMap.h.

Member Typedef Documentation

template<typename T >
using UT_ARTNode48< T >::parent_ptr_t = UT_ARTNodePtr<parent_t>

Definition at line 572 of file UT_ARTMap.h.

template<typename T >
using UT_ARTNode48< T >::parent_t = UT_ARTNode<T>

Definition at line 571 of file UT_ARTMap.h.

Constructor & Destructor Documentation

template<typename T >
UT_ARTNode48< T >::UT_ARTNode48 ( const UT_StringHolder key,
UT_StringView  prefix 
)
inline

Definition at line 581 of file UT_ARTMap.h.

template<typename T >
UT_ARTNode48< T >::~UT_ARTNode48 ( )
inlineoverride

Definition at line 588 of file UT_ARTMap.h.

Member Function Documentation

template<typename T >
UT_ARTNode< T > ** UT_ARTNode48< T >::findPartialPrefixChild ( const UT_StringView prefix)
inlineoverridevirtual

Implements UT_ARTNode< T >.

Definition at line 331 of file UT_ARTMapImpl.h.

template<typename T >
UT_ARTNode< T > ** UT_ARTNode48< T >::insertChild ( parent_t **  ref,
parent_ptr_t  child 
)
inlineoverride

Definition at line 282 of file UT_ARTMapImpl.h.

template<typename T >
bool UT_ARTNode48< T >::isFull ( ) const
inlineoverridevirtual

Implements UT_ARTNode< T >.

Definition at line 275 of file UT_ARTMapImpl.h.

template<typename T >
UT_ARTNode< T > * UT_ARTNode48< T >::nextChild ( int index)
inlineoverridevirtual

Implements UT_ARTNode< T >.

Definition at line 342 of file UT_ARTMapImpl.h.

template<typename T >
const UT_ARTNode< T > * UT_ARTNode48< T >::nextChild ( int index) const
inlineoverridevirtual

Implements UT_ARTNode< T >.

Definition at line 354 of file UT_ARTMapImpl.h.

template<typename T >
UT_ARTNodePtr< UT_ARTNode< T > > UT_ARTNode48< T >::stealChild ( parent_t **  ref,
parent_t child 
)
inlineoverridevirtual

Implements UT_ARTNode< T >.

Definition at line 320 of file UT_ARTMapImpl.h.

template<typename T >
UT_ARTNodePtr< UT_ARTNode< T > > UT_ARTNode48< T >::stealChild ( parent_t **  ref,
int  idx 
)
inlineoverridevirtual

Implements UT_ARTNode< T >.

Definition at line 366 of file UT_ARTMapImpl.h.

template<typename T >
const UT_StringHolder& UT_ARTNode48< T >::type ( ) const
inlineoverridevirtual

Implements UT_ARTNode< T >.

Definition at line 593 of file UT_ARTMap.h.

template<typename T >
UT_ARTNode48< T >::UT_NON_COPYABLE ( UT_ARTNode48< T )

Member Data Documentation

template<typename T >
unsigned char UT_ARTNode48< T >::myChildKeys[256]

Definition at line 612 of file UT_ARTMap.h.

template<typename T >
parent_t* UT_ARTNode48< T >::myChildren[48] = {}

Definition at line 613 of file UT_ARTMap.h.


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