Spec-Zone.ru › C++

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) (с C++14)
template< class K >
const_iterator upper_bound( const K& x ) const;
(4) (с C++14)
1,2) Возвращает итератор, указывающий на первый элемент, который больше, чем key.
3,4) Возвращает итератор, указывающий на первый элемент, который сравнивается как больше, чем значение x. Этот перегруз участвует в разрешении перегрузки только в том случае, если квалифицированный идентификатор Compare::is_transparent является допустимым и обозначает тип. Это позволяет вызывать эту функцию без создания экземпляра Key.

Параметры

key - значение ключа для сравнения с элементами
x - альтернативное значение, которое можно сравнить с Key

Возвращаемое значение

Итератор, указывающий на первый элемент, который больше, чем key. Если такого элемента не найдено, возвращается итератор, указывающий на позицию после последнего элемента (см. end()).

Сложность

Логарифмическая относительно размера контейнера.

Примечания

Макрокоманда проверки наличия функции Значение Стандарт Функция
__cpp_lib_generic_associative_lookup 201304L (C++14) Гетерогенное сравнение поиска в ассоциативных контейнерах для перегрузок (3,4)

Пример

См. также

equal_range
возвращает диапазон элементов, соответствующих определенному ключу
(публичный член-функция)
lower_bound
возвращает итератор на первый элемент, который не меньше данного ключа
(публичный член-функция)

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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API