BloombergLP::ball::CategoryManager_RadixTree

Space-efficient associative container mapping string keys to t_VALUE.

Synopsis

Declared in <ball_categorymanager_radixtree.h>

template<class t_VALUE>
class CategoryManager_RadixTree;

Description

This class template implements a space-efficient associative container that maps string keys to values of the specified t_VALUE type. The container uses a radix tree (compressed trie) data structure, which shares common prefixes among keys. The container provides O(k) insertion, lookup, and removal operations, where k is the key length.

Type Aliases

NameDescription
EmplaceResult Result of emplacing a value into the tree.
OptValueCRef Type for immutable access to the optional value. Used also as return type for immutable finders where empty optional signifies "not found".
OptValueRef Type for mutable access to the optional value. Used also as return type for mutable finders where empty optional signifies "not found".
allocator_type allocator_type is an alias for the type of allocator used by this class.
size_type size_type is an alias for the type used to represent sizes in this tree.
value_type value_type is an alias for the value type stored in this tree.

Member Functions

NameDescription
CategoryManager_RadixTree [constructor]Constructors
operator= Assignment operators
clear Remove all entries from this tree. After this call empty() will return true. After this call the tree will have 0 nodes.
contains Return true if this tree contains an entry for the specified key, and false otherwise.
countNodes Return the total number of nodes in this tree.
emplace Insert an entry with the specified key and a newly constructed value.
empty Return true if this tree contains no entries, and false otherwise.
erase Remove from this tree the entry with the specified key. Return true if the entry was removed (key existed), and false otherwise.
eraseChildrenOfPrefix Remove all children of the entry matching the specified prefix.
erasePrefix Remove all entries with keys that have the specified prefix.
find find overloads
findLongestCommonPrefix Return the longest matching key prefix with an associated value.
forEach Call the specified functor for each key-value pair in this tree.
forEachPrefix Call functor for each key-value pair whose key starts with prefix.
get_allocator Return the allocator used by this object to supply memory.
printNodes Write this object to the specified stream in a human-readable format.
size Return the number of entries in this tree.
swap Efficiently exchange the value of this object with that of other.

Friends

NameDescription
BloombergLP::ball::swapExchange the values of the specified trees.
BloombergLP::ball::operator==Return true if the specified trees have the same value.

Non-Member Functions

NameDescription
operator!=Return true if the specified lhs and rhs objects do not have the same value.
operator==Return true if the specified lhs and rhs objects have the same value.
swapExchange the values of the specified a and b objects.