BloombergLP::bslalg::RbTreeUtil::lowerBound

Return the first node not ordered before value, or the sentinel.

Synopsis

Declared in <bslalg_rbtreeutil.h>

template<
    class NODE_VALUE_COMPARATOR,
    class VALUE>
static
RbTreeNode const*
lowerBound(
    RbTreeAnchor const& tree,
    NODE_VALUE_COMPARATOR& comparator,
    VALUE const& value);

Description

Return the address of the leftmost node holding the smallest value greater-than or equal-to value in the specified tree (organized according to the specified 'comparator) if found, and return tree.sentinel() if value is greater-than the rightmost node in tree. 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 (isWellFormed). Note that this function returns the first position before which value could be inserted into tree while preserving its ordering.

Return Value

address of the first node not ordered before value, or the sentinel

Parameters

NameDescription
treetree to search
comparatorfunctor used to order nodes against value
valuevalue whose lower bound is returned