HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
NET_RadixTree< T >::Node Class Reference

#include <NET_RadixTree.h>

+ Inheritance diagram for NET_RadixTree< T >::Node:

Classes

struct  NodeCompare
 

Public Types

using Type = T
 
using ValueT = UT_UniquePtr< Type >
 
using ChildrenT = UT_Set< NodeT, hboost::hash< NodeT >, NodeCompare >
 

Public Member Functions

 Node ()
 
 Node (const UT_StringHolder &prefix, bool allows_partial=false)
 
 Node (const UT_StringHolder &prefix, const T &data, bool allows_partial=false)
 
SYS_FORCE_INLINE UT_Optional
< Type & > 
value () const
 
SYS_FORCE_INLINE bool hasValue () const
 
SYS_FORCE_INLINE const
UT_StringHolder
prefix () const
 
SYS_FORCE_INLINE bool isLeaf () const
 
SYS_FORCE_INLINE bool allowsPartial () const
 
void insert (const UT_StringHolder &key, const T &data, bool allow_partial=false)
 
NodeT findChild (const UT_StringView prefix)
 
void debug (UT_WorkBuffer &wbuf, unsigned indent=0)
 
- Public Member Functions inherited from UT_IntrusiveRefCounter< Node >
SYS_FORCE_INLINE UT_IntrusiveRefCounter () noexcept
 Default constructor: Sets counter to 0. More...
 
SYS_FORCE_INLINE UT_IntrusiveRefCounter (const UT_IntrusiveRefCounter &) noexcept
 Copy constructor: Sets counter to 0. More...
 
UT_IntrusiveRefCounteroperator= (const UT_IntrusiveRefCounter &) noexcept
 Assignment operator: Does not modify counter. More...
 
SYS_FORCE_INLINE uint32 use_count () const noexcept
 Return current counter. More...
 

Additional Inherited Members

- Protected Member Functions inherited from UT_IntrusiveRefCounter< Node >
SYS_FORCE_INLINE ~UT_IntrusiveRefCounter ()
 Destructor: Only derived classes can destruct this. More...
 

Detailed Description

template<typename T>
class NET_RadixTree< T >::Node

Definition at line 40 of file NET_RadixTree.h.

Member Typedef Documentation

template<typename T >
using NET_RadixTree< T >::Node::ChildrenT = UT_Set<NodeT, hboost::hash<NodeT>, NodeCompare>

Definition at line 55 of file NET_RadixTree.h.

template<typename T >
using NET_RadixTree< T >::Node::Type = T

Definition at line 43 of file NET_RadixTree.h.

template<typename T >
using NET_RadixTree< T >::Node::ValueT = UT_UniquePtr<Type>

Definition at line 44 of file NET_RadixTree.h.

Constructor & Destructor Documentation

template<typename T >
NET_RadixTree< T >::Node::Node ( )
inline

Definition at line 57 of file NET_RadixTree.h.

template<typename T >
NET_RadixTree< T >::Node::Node ( const UT_StringHolder prefix,
bool  allows_partial = false 
)
inline

Definition at line 59 of file NET_RadixTree.h.

template<typename T >
NET_RadixTree< T >::Node::Node ( const UT_StringHolder prefix,
const T data,
bool  allows_partial = false 
)
inline

Definition at line 66 of file NET_RadixTree.h.

Member Function Documentation

template<typename T >
SYS_FORCE_INLINE bool NET_RadixTree< T >::Node::allowsPartial ( ) const
inline

Definition at line 88 of file NET_RadixTree.h.

template<typename T >
void NET_RadixTree< T >::Node::debug ( UT_WorkBuffer wbuf,
unsigned  indent = 0 
)
inline

Definition at line 198 of file NET_RadixTree.h.

template<typename T >
NodeT NET_RadixTree< T >::Node::findChild ( const UT_StringView  prefix)
inline

Definition at line 187 of file NET_RadixTree.h.

template<typename T >
SYS_FORCE_INLINE bool NET_RadixTree< T >::Node::hasValue ( ) const
inline

Definition at line 82 of file NET_RadixTree.h.

template<typename T >
void NET_RadixTree< T >::Node::insert ( const UT_StringHolder key,
const T data,
bool  allow_partial = false 
)
inline

Definition at line 90 of file NET_RadixTree.h.

template<typename T >
SYS_FORCE_INLINE bool NET_RadixTree< T >::Node::isLeaf ( ) const
inline

Definition at line 87 of file NET_RadixTree.h.

template<typename T >
SYS_FORCE_INLINE const UT_StringHolder& NET_RadixTree< T >::Node::prefix ( ) const
inline

Definition at line 83 of file NET_RadixTree.h.

template<typename T >
SYS_FORCE_INLINE UT_Optional<Type &> NET_RadixTree< T >::Node::value ( ) const
inline

Definition at line 76 of file NET_RadixTree.h.


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