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

Name

Description

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

Name

Description

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

Name

Description

BloombergLP::ball::swap

Exchange the values of the specified trees.

BloombergLP::ball::operator==

Return true if the specified trees have the same value.

Non-Member Functions

Name

Description

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.

swap

Exchange the values of the specified a and b objects.

Created with MrDocs