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

#include <UT_ARTMap.h>

+ Inheritance diagram for UT_ARTNode16< 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_ARTNode16 (const UT_StringHolder &key, UT_StringView prefix)
 
 UT_NON_COPYABLE (UT_ARTNode16)
 
 ~UT_ARTNode16 () 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
 
int prefixToIndex_ (char c) const
 
- 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 [16]
 
parent_tmyChildren [16] = {}
 
- 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_ARTNode16< T >

Definition at line 487 of file UT_ARTMap.h.

Member Typedef Documentation

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

Definition at line 491 of file UT_ARTMap.h.

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

Definition at line 490 of file UT_ARTMap.h.

Constructor & Destructor Documentation

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

Definition at line 500 of file UT_ARTMap.h.

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

Definition at line 507 of file UT_ARTMap.h.

Member Function Documentation

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

Implements UT_ARTNode< T >.

Definition at line 202 of file UT_ARTMapImpl.h.

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

Definition at line 154 of file UT_ARTMapImpl.h.

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

Implements UT_ARTNode< T >.

Definition at line 147 of file UT_ARTMapImpl.h.

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

Implements UT_ARTNode< T >.

Definition at line 217 of file UT_ARTMapImpl.h.

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

Implements UT_ARTNode< T >.

Definition at line 229 of file UT_ARTMapImpl.h.

template<typename T >
int UT_ARTNode16< T >::prefixToIndex_ ( char  c) const
inline

Definition at line 532 of file UT_ARTMap.h.

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

Implements UT_ARTNode< T >.

Definition at line 190 of file UT_ARTMapImpl.h.

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

Implements UT_ARTNode< T >.

Definition at line 241 of file UT_ARTMapImpl.h.

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

Implements UT_ARTNode< T >.

Definition at line 513 of file UT_ARTMap.h.

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

Member Data Documentation

template<typename T >
unsigned char UT_ARTNode16< T >::myChildKeys[16]

Definition at line 563 of file UT_ARTMap.h.

template<typename T >
parent_t* UT_ARTNode16< T >::myChildren[16] = {}

Definition at line 564 of file UT_ARTMap.h.


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