std::set::upper_bound - cppreference.com

##### cppreference.com

##### Search

Create account

##### Namespaces

- Page
- Discussion

##### Variants

##### Views

- View
- Edit
- History

##### Actions

# std::set::upper_bound

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

[edit template]

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`. These templates only participate in overload resolution if the type Compare::is_transparent exists. They allow calling this function without constructing an instance of `Key`.

### [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

equal_range | returns range of elements matching a specific key (public member function) [edit]
lower_bound | returns an iterator to the first element not less than the given value (public member function) [edit]

Retrieved from "http://en.cppreference.com/mwiki/index.php?title=cpp/container/set/upper_bound&oldid=50665"