std::unordered_map<Key,T,Hash,KeyEqual,Allocator>:: bucket
From cppreference.net
<
cpp
|
container
|
unordered map
|
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 ) |
Пример
|
Этот раздел не завершён
Причина: отсутствует пример |
Смотрите также
|
возвращает количество элементов в определённой корзине
(публичная функция-член) |