Overview Usage Performance Notes Links | tst 0.68 - 23 Jan 2009 |
We only ever return end-nodes to client code, and always wrapped in proxy types with desired behaviour (assignable and/or dereferenceable).
Invariants:
Public Types | |
enum | { invalid_index = node_index(-1) } |
enum | { terminal = 1, erased = 2 } |
typedef CharT | char_type |
typedef StorageT | pointer_or_value |
typedef SizeT | node_index |
Public Member Functions | |
unsigned int | at_end () const |
Client code should only see nodes where at_end == 1. | |
node_base (char_type c, node_index mom) | |
void | swap_values (node_base &other) |
void | swap (node_base &other) |
char_type | splitchar () const |
bool | is_unlinked () const |
Erased and disused node; ie the rest of a twig following an erased node. | |
Public Attributes | |
char_type | m_char |
char_type | m_atend |
node_index | parent |
node_index | hikid |
union { | |
node_index lokid | |
pointer_or_value m_data | |
}; | |
Terminal nodes considered having unique -inf split char, so all nodes of longer strings go to hikid. |
typedef CharT char_type |
Reimplemented in heap_node, and inplace_node.
typedef StorageT pointer_or_value |
typedef SizeT node_index |
Reimplemented in heap_node, and inplace_node.
node_base | ( | char_type | c, | |
node_index | mom | |||
) | [inline] |
unsigned int at_end | ( | ) | const [inline] |
Client code should only see nodes where at_end == 1.
void swap_values | ( | node_base< CharT, StorageT, SizeT > & | other | ) | [inline] |
void swap | ( | node_base< CharT, StorageT, SizeT > & | other | ) | [inline] |
char_type splitchar | ( | ) | const [inline] |
bool is_unlinked | ( | ) | const [inline] |
Erased and disused node; ie the rest of a twig following an erased node.
union { ... } |
Terminal nodes considered having unique -inf split char, so all nodes of longer strings go to hikid.
ternary_tree 0.68 -- by rasmus ekman -- Page generated with Doxygen 1.5.6 on 23 Jan 2009 |