Spec-Zone.ru › C++

std::map<Key,T,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/cpp/container/map/upper_bound

Spec-Zone.ru

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