cpp / latest / container / set / upper_bound.html /

std::set<Key,Compare,Allocator>::upper_bound

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

Parameters

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

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.

Complexity

Logarithmic in the size of the container.

Notes

Feature testing macro: __cpp_lib_generic_associative_lookup (for overloads (3,4)).

Example

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)

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/container/set/upper_bound