BloombergLP::bslalg::RbTreeUtil::upperBound

Return the first node ordered after value, or the sentinel.

Synopsis

Declared in <bslalg_rbtreeutil.h>

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

Description

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

Return Value

address of the first node ordered after value, or the sentinel

Parameters

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