BloombergLP::bslalg::RbTreeUtil::validateRbTree

Return black-node depth, loading violation details if invalid.

Synopsis

Declared in <bslalg_rbtreeutil.h>

template<class NODE_COMPARATOR>
static
int
validateRbTree(
    RbTreeNode const** errorNode,
    char const** errorDescription,
    RbTreeNode const* rootNode,
    NODE_COMPARATOR const& comparator);

Description

Return the number of black nodes on each path from the specified rootNode to a leaf, and load violation details into the specified errorNode and errorDescription if the tree is invalid.

Return Value

black-node depth, 0 if rootNode is 0, or a negative number if invalid

Parameters

NameDescription
errorNodeset to a node that violates a red-black constraint
errorDescriptionset to a description of the violation
rootNoderoot of the tree to validate, or 0
comparatorfunctor used to order nodes in the tree