std::set::upper_bound

From cppreference.com
< cpp‎ | container‎ | set

iterator upper_bound( const Key& key );
(1)
const_iterator upper_bound( const Key& key ) const;
(1)
template< class K >
iterator upper_bound( const K& x );
(2) (since C++14)
template< class K >
const_iterator upper_bound( const K& x ) const;
(2) (since C++14)
1) Returns an iterator pointing to the first element that is greater than key.
2) Returns an iterator pointing to the first element that compares greater to the value x. This overload only participates in overload resolution if the qualified-id Compare::is_transparent is valid and denotes a type. They allow calling this function without constructing an instance of Key.

Contents

[edit] Parameters

key - key value to compare the elements to
x - alternative value that can be compared to Key

[edit] Return value

Iterator pointing to the first element that is greater than key. If no such element is found, past-the-end (see end()) iterator is returned.

[edit] Complexity

Logarithmic in the size of the container.

[edit] See also

returns range of elements matching a specific key
(public member function)
returns an iterator to the first element not less than the given key
(public member function)