BloombergLP::ball::CategoryManager_RadixTree_ChildNodeGuard

RAII guard that removes a child node on exception during value emplacement.

Synopsis

Declared in <ball_categorymanager_radixtree.h>

template<class t_VALUE>
class CategoryManager_RadixTree_ChildNodeGuard;

Description

This guard ensures exception safety by automatically removing a newly created child node from its parent if the value construction throws an exception.

Type Aliases

NameDescription
ChildIterator Iterator over the child nodes of a radix tree node.
Node Node is an alias for a node in the radix tree.

Member Functions

NameDescription
CategoryManager_RadixTree_ChildNodeGuard [constructor]Create a guard managing the specified child in the specified parent.
~CategoryManager_RadixTree_ChildNodeGuard [destructor]Destroy this guard. If release() has not been called, erase the child node from the parent (specified at construction).
release Release this guard so the child is not erased on destruction.