|
BDE 4.39.x Production Release
|
#include <ball_categorymanager_radixtree.h>
This class template represents a node in the radix tree. Each node stores a prefix string, an optional value, and child nodes mapped with their prefix-part starting character. As the second underscore in the class name indicates, this is a component-local class not intended for use outside of
Public Types | |
| typedef bsl::map< char, CategoryManager_RadixTree_Node > | Children |
| typedef bsl::allocator | allocator_type |
| typedef bsl::allocator ball::CategoryManager_RadixTree_Node< t_VALUE >::allocator_type |
| typedef bsl::map<char, CategoryManager_RadixTree_Node> ball::CategoryManager_RadixTree_Node< t_VALUE >::Children |
Child nodes mapped by the starting their starting character of their prefix-part.
|
inlineexplicit |
Create a CategoryManager_RadixTree_Node object with the specified prefix and no value. Optionally specify an allocator (e.g., the address of a bslma::Allocator object) to supply memory; otherwise, the default allocator is used.
|
inline |
Create a CategoryManager_RadixTree_Node object having the same value as the specified original object. Use the default allocator to supply memory for this object.
|
inline |
Create a CategoryManager_RadixTree_Node object having the same value as the specified original object, and use the specified allocator to supply memory for this new object.
|
inline |
Create a CategoryManager_RadixTree_Node object having the same value as the specified original object by moving (in amortized constant time) the contents of original to the newly-created object. The allocator associated with original is propagated for use in the newly-created object. original is left in a valid but unspecified state.
|
inline |
Create a CategoryManager_RadixTree_Node object having the same value as the specified original object, and use the specified allocator to supply memory for this new object. The contents of original are moved (in amortized constant time) to the newly-created object if allocator == original.get_allocator(), and are move-inserted (in linear time) using allocator otherwise. original is left in a valid but unspecified state.
|
inline |
Return a reference providing modifiable access to the child nodes of this node.
|
inline |
Return a reference providing non-modifiable access to the child nodes of this node.
|
inline |
Return the allocator used by this object to supply memory.
|
inline |
Assign to this object the value of the specified rhs object, and return a reference providing modifiable access to this object. The contents of rhs are moved (in amortized constant time) to this object if get_allocator() == rhs.get_allocator(); otherwise, all elements in this object are either destroyed or move-assigned to, and each additional element in rhs is move-inserted into this object. rhs is left in a valid but unspecified state.
|
inline |
Assign to this object the value of the specified rhs object, and return a reference providing modifiable access to this object.
|
inline |
Return a reference providing modifiable access to the prefix string of this node.
|
inline |
Return a reference providing non-modifiable access to the prefix string of this node.
| void ball::CategoryManager_RadixTree_Node< t_VALUE >::swap | ( | CategoryManager_RadixTree_Node< t_VALUE > & | other | ) |
Efficiently exchange the value of this object with the value of the specified other object. This method provides the no-throw exception-safety guarantee if the two objects were created with the same allocator; otherwise, it provides the strong guarantee.
|
inline |
Return a reference providing modifiable access to the optional value of this node.
|
inline |
Return a reference providing non-modifiable access to the optional value of this node.