std::unordered_set<Key,Hash,KeyEqual,Allocator>::bucket
From cppreference.com
< cpp | container | unordered set
| 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::is_transparent および KeyEqual::is_transparent が有効であり、それぞれが型を表す場合にのみ、オーバーロード解決に参加します。これは、そのような `Hash` が `K` 型と `Key` 型の両方で呼び出し可能であり、`KeyEqual` が透過的であることを前提としており、これらを組み合わせることで `Key` 型のインスタンスを構築せずにこの関数を呼び出すことができます。
返される値は、bucket_count() が同じ値を返すコンテナのインスタンスに対してのみ有効です(例: rehash() は以前取得した値を無効にします)。
bucket_count() がゼロの場合、動作は未定義です。
目次 |
[編集] パラメータ
| key | - | 調べるキーの値 |
| x | - | キーと透過的に比較できる任意の型の値 |
[編集] 戻り値
要求されたキーのバケットインデックス。
[編集] 計算量
定数。
[編集] 注記
| 機能テストマクロ | 値 | 規格 | 機能 |
|---|---|---|---|
__cpp_lib_associative_heterogeneous_insertion |
202311L |
(C++26) | 順序付けられたおよび順序付けられていない連想コンテナーの残りのメンバ関数に対する異種オーバーロード。(2) |
[編集] 例
| このセクションは未完成です 理由: 例がありません |
[編集] 関連項目
| 特定のバケット内の要素数を返す (public member function) |