Namespaces
Variants

std::unordered_set<Key,Hash,KeyEqual,Allocator>:: bucket

From cppreference.net

size_type bucket ( const Key & key ) const ;
(1) (начиная с C++11)
template < typename K >
size_type bucket ( const K & x ) const ;
(2) (начиная с C++26)
1) Возвращает индекс бакета для ключа key . Элементы (если есть) с ключами, эквивалентными key , всегда находятся в этом бакете.
2) Возвращает индекс бакета для ключа, который сравнивается эквивалентно со значением x . Элементы (если есть) с ключами, которые сравниваются эквивалентно с x , всегда находятся в этом бакете. Эта перегрузка участвует в разрешении перегрузки только если Hash и KeyEqual являются прозрачными . Предполагается, что такой Hash может быть вызван как с типом K , так и с типом Key , и что KeyEqual является прозрачным, что вместе позволяет вызывать эту функцию без создания экземпляра Key .

Возвращаемое значение действительно только для экземпляров контейнера, для которых bucket_count() возвращает то же значение (например, rehash() инвалидирует ранее полученное значение).

Поведение не определено, если bucket_count() равен нулю.

Содержание

Параметры

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

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

Индекс сегмента для запрошенного ключа.

Сложность

Константа.

Примечания

Feature-test macro Value Std Feature
__cpp_lib_associative_heterogeneous_insertion 202311L (C++26) Гетерогенные перегрузки для оставшихся функций-членов в упорядоченных и неупорядоченных ассоциативных контейнерах . ( 2 )

Пример

Смотрите также

возвращает количество элементов в определённой корзине
(публичная функция-член)