[#BloombergLP-bslalg-RbTreeUtil-find-08] = xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bslalg.adoc[bslalg]::xref:BloombergLP/bslalg/RbTreeUtil.adoc[RbTreeUtil]::find :relfileprefix: ../../../ :mrdocs: `find` overloads == Synopses Declared in `<bslalg_rbtreeutil.h>` Same as the preceding `find` overload, returning a modifiable node. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template< class NODE_VALUE_COMPARATOR, class VALUE> static xref:BloombergLP/bslalg/RbTreeNode.adoc[RbTreeNode]* xref:BloombergLP/bslalg/RbTreeUtil/find-0f.adoc[find]( xref:BloombergLP/bslalg/RbTreeAnchor.adoc[RbTreeAnchor]& tree, NODE_VALUE_COMPARATOR& comparator, VALUE const& value); ---- [.small]#xref:BloombergLP/bslalg/RbTreeUtil/find-0f.adoc[_» more..._]# Return the address of the leftmost node holding the specified `value` in the specified `tree` (organized according to the specified `comparator) if found, and return `tree.sentinel()' otherwise. `COMPARATOR` shall be a functor providing two methods that can be called as if they had the following signatures: ` bool operator()(const RbTreeNode&, const VALUE&) const; bool operator()(const VALUE&, const RbTreeNode&) const; ` The behavior is undefined unless `comparator` provides a strict weak ordering on objects of type `VALUE`, and `tree` is well‐formed (see `isWellFormed`). [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template< class NODE_VALUE_COMPARATOR, class VALUE> static xref:BloombergLP/bslalg/RbTreeNode.adoc[RbTreeNode] const* xref:BloombergLP/bslalg/RbTreeUtil/find-01.adoc[find]( xref:BloombergLP/bslalg/RbTreeAnchor.adoc[RbTreeAnchor] const& tree, NODE_VALUE_COMPARATOR& comparator, VALUE const& value); ---- [.small]#xref:BloombergLP/bslalg/RbTreeUtil/find-01.adoc[_» more..._]# [.small]#Created with https://www.mrdocs.com[MrDocs]#