The Pedigree Project
0.1
|
Public Types | |
enum | MatchType { ExactMatch, NoMatch, PartialMatch, OverMatch } |
typedef Vector< Node * > | childlist_t |
Public Member Functions | |
Node (bool bCaseSensitive) | |
void | returnAllChildren () |
Node * | next () |
Node * | previous () |
Node * | findChild (const char *cpKey) const |
void | addChild (Node *pNode) |
void | replaceChild (Node *pNodeOld, Node *pNodeNew) |
void | removeChild (Node *pChild) |
MatchType | matchKey (const char *cpKey, size_t &offset) const |
Node * | getFirstChild () const |
void | prependKey (const char *cpKey) |
void | setKey (const char *cpKey) |
void | setKey (const char *cpKey, size_t lengthHint) |
const char * | getKey () const |
void | setValue (const T &pV) |
void | removeValue () |
const T & | getValue () const |
void | setParent (Node *pP) |
Node * | getParent () const |
bool | hasValue () const |
void | dump (void(*emit_line)(const char *s)) const |
Public Attributes | |
String | m_Key |
T | value |
childlist_t | m_Children |
Node * | m_pParent |
const bool | m_bCaseSensitive |
RadixTree * | m_pParentTree |
bool | m_bHasValue |
Private Member Functions | |
Node (const Node &) | |
Node & | operator= (const Node &) |
Node * | doNext () const |
Node * | getNextSibling () const |
enum RadixTree::Node::MatchType |
Definition at line 53 of file RadixTree.h.
Get the next data structure in the list
Definition at line 75 of file RadixTree.h.
Get the previous data structure in the list
Definition at line 82 of file RadixTree.h.
const bool RadixTree< T >::Node::m_bCaseSensitive |
Controls case-sensitive matching.
Definition at line 160 of file RadixTree.h.
bool RadixTree< T >::Node::m_bHasValue |
Do we have a value? Some nodes are intermediates caused by a split but don't yet have a value, and it is incorrect to return something for them.
Definition at line 169 of file RadixTree.h.
childlist_t RadixTree< T >::Node::m_Children |
Array of 16 pointers to 16 nodes (256 total).
Definition at line 156 of file RadixTree.h.
Referenced by RadixTree< T >::cloneNode(), RadixTree< T >::Node::doNext(), and RadixTree< T >::remove().
Node key, zero terminated.
Definition at line 150 of file RadixTree.h.
Referenced by RadixTree< T >::cloneNode(), RadixTree< T >::insert(), RadixTree< T >::lookup(), and RadixTree< T >::remove().
Parent node.
Definition at line 158 of file RadixTree.h.
Referenced by RadixTree< T >::Node::doNext().
Link back to the node's RadixTree instance.
Definition at line 163 of file RadixTree.h.
T RadixTree< T >::Node::value |
Node value.
Definition at line 154 of file RadixTree.h.
Referenced by RadixTree< T >::cloneNode(), and RadixTree< T >::Node::doNext().