|
BDE 4.39.x Production Release
|
#include <ball_categorymanager_radixtree.h>
RAII guard to remove a child node when an exception is thrown during value emplacement in a CategoryManager_RadixTree_Node. This guard ensures exception safety by automatically removing a newly created child node from its parent if the value construction throws an exception.
Public Types | |
| typedef CategoryManager_RadixTree_Node< t_VALUE > | Node |
| typedef Node::Children::iterator | ChildIterator |
Public Member Functions | |
| CategoryManager_RadixTree_ChildNodeGuard (Node *parent, ChildIterator child) | |
| ~CategoryManager_RadixTree_ChildNodeGuard () | |
| void | release () |
| typedef Node::Children::iterator ball::CategoryManager_RadixTree_ChildNodeGuard< t_VALUE >::ChildIterator |
| typedef CategoryManager_RadixTree_Node<t_VALUE> ball::CategoryManager_RadixTree_ChildNodeGuard< t_VALUE >::Node |
|
inline |
Create a guard managing the specified child iterator in the specified parent node. The guard will erase the child from the parent upon destruction unless release() is called.
|
inline |
Destroy this guard. If release() has not been called, erase the child node from the parent (specified at construction).
|
inline |
Release this guard, preventing the child node from being erased upon destruction. This method should be called after the value has been successfully emplaced in the child node.