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) 
key
.x
. This overload only participates in overload resolution if the qualifiedid Compare::is_transparent
is valid and denotes a type. They allow calling this function without constructing an instance of Key
.key    key value to compare the elements to 
x    alternative value that can be compared to Key 
Iterator pointing to the first element that is greater than key
. If no such element is found, pasttheend (see end()
) iterator is returned.
Logarithmic in the size of the container.
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 AttributionShareAlike Unported License v3.0.
http://en.cppreference.com/w/cpp/container/set/upper_bound