[#BloombergLP-bslalg-RbTreeUtil_Validator-validateRbTree] = xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bslalg.adoc[bslalg]::xref:BloombergLP/bslalg/RbTreeUtil_Validator.adoc[RbTreeUtil_Validator]::validateRbTree :relfileprefix: ../../../ :mrdocs: Return the (common) number of black nodes on each path from the specified `rootNode` to a leaf in the tree, 0 if `rootNode` is 0, and a negative number if `rootNode` does not refer to a valid red‐black binary search tree (ordered according to the specified `comparator`) that contains no nodes whose value is less than the specified `minNodeValue` (if not 0) or greater‐than the specified `maxNodeValue` (if not 0). If `rootNode` does not refer to a valid red‐black tree containing nodes whose values are between the specified `minNodeValue` and `maxNodeValue` (inclusively) then load `errorNode` and `errorDescription` with the address of a node violating a red‐black tree constraint and a description of that violation, respectively. The behavior is undefined unless `rootNode` is 0, or refers to a valid binary tree. == Synopsis Declared in `<bslalg_rbtreeutil.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template<class NODE_COMPARATOR> static int validateRbTree( xref:BloombergLP/bslalg/RbTreeNode.adoc[RbTreeNode] const** errorNode, char const** errorDescription, xref:BloombergLP/bslalg/RbTreeNode.adoc[RbTreeNode] const* rootNode, xref:BloombergLP/bslalg/RbTreeNode.adoc[RbTreeNode] const* minNodeValue, xref:BloombergLP/bslalg/RbTreeNode.adoc[RbTreeNode] const* maxNodeValue, NODE_COMPARATOR const& comparator); ---- [.small]#Created with https://www.mrdocs.com[MrDocs]#