C ++ライブラリ-<unordered_set>

前書き

これは、一意の要素を特定の順序で格納し、その値に基づいて個々の要素をすばやく取得できるようにする連想コンテナです。

定義

以下はstd :: unordered_setの定義です

template < class Key,                        
           class Hash = hash<Key>,        
           class Pred = equal_to<Key>,    
           class Alloc = allocator<Key>   
           > class unordered_set;

パラメーター

  • Key −要素のタイプを定義します。

  • Hash −単項関数オブジェクトです。

  • Pred −これは、要素と同じ型の2つの引数を取り、boolを返すバイナリ述語です。

  • Alloc −allowcaterのタイプを定義します。

メンバータイプ

以下のメンバータイプは、パラメーターとして使用したり、メンバー関数によってタイプを返すことができます。

メンバータイプ 定義 ノート
key_type これは最初のテンプレートパラメータ(Key)です
value_type これは最初のテンプレートパラメータ(Key)です key_typeと同じ
ハッシャー これは2番目のテンプレートパラメータ(ハッシュ)です。 デフォルトはhash <key_type>です。
key_equal これは3番目のテンプレートパラメータ(Pred)です デフォルトはequal_to <key_type>です。
allocator_type これは4番目のテンプレートパラメータ(Alloc)です。 デフォルトは次のとおりです。allocator<value_type>
参照 Alloc :: reference
const_reference Alloc :: const_reference
ポインター Alloc :: pointer デフォルトのアロケータの場合:value_type *
const_pointer Alloc :: const_pointer デフォルトのアロケータの場合:const value_type *
イテレータ constvalue_typeへのフォワードイテレータ * const_iteratorに変換可能
const_iterator constvalue_typeへのフォワードイテレータ *
local_iterator constvalue_typeへのフォワードイテレータ * const_local_iteratorに変換可能
const_local_iterator constvalue_typeへのフォワードイテレータ *
size_type 符号なし整数型 通常size_tと同じ
Difference_type 符号付き整数型 通常はptrdiff_tと同じです

メンバー関数

以下はメンバー関数のリストです

シニア番号 方法と説明
1 (コンストラクタ)

unordered_setを構築します。

2 (デストラクタ)

unordered_setを破棄します。

3 演算子=

コンテンツを割り当てるために使用されます。

容量

シニア番号 容量と説明
1 空の

コンテナが空かどうかをテストするために使用されます。

2 サイズ

コンテナサイズを返します。

3 max_size

最大サイズを返します。

イテレータ

シニア番号 イテレータと説明
1 ベギン

イテレータを最初に戻します。

2 終わり

イテレータを終了に戻します。

3 cbegin

const_iteratorを最初に戻します。

4 cend

const_iteratorを終了に戻します。

要素ルックアップ

シニア番号 要素のルックアップと説明
1 見つける

イテレータを要素に移動するために使用されます。

2 カウント

特定のキーを持つ要素をカウントするために使用されます。

3 equal_range

特定のキーを持つ要素の範囲を取得するために使用されます。

修飾子

シニア番号 修飾子と説明
1 配置する

要素を作成して挿入するために使用されます。

2 emplace_hint

ヒント付きの要素を作成して挿入するために使用されます。

3 インサート

要素を挿入するために使用されます。

4 消去

要素を消去するために使用されます。

5 晴れ

コンテンツをクリアするために使用されます。

6 スワップ

コンテンツを交換するために使用されます。

バケット

シニア番号 バケットと説明
1 バケットカウント

バケットの数を返します。

2 max_bucket_count

バケットの最大数を返します。

3 バケットサイズ

バケットサイズを返します。

4 バケツ

要素のバケットを見つけます。

ハッシュポリシー

シニア番号 ハッシュポリシーと説明
1 負荷率

負荷率を返します。

2 max_load_factor

最大負荷率を取得または設定するために使用されます。

3 再ハッシュ

バケット数の設定に使用します。

4 リザーブ

バックレットの容量変更をリクエストします

オブザーバー

シニア番号 オブザーバーと説明
1 hash_function

ハッシュ関数を取得するために使用されます。

2 key_eq

これは、主要な等価述語を取得するために使用されます。

3 get_allocator

アロケータを取得するために使用されます。

シニア番号 非メンバー関数のオーバーロードと説明
1 演算子(unordered_set)

ハッシュ関数を取得するために使用されます。

2 スワップ(unordered_set)

2つのunordered_setコンテナの内容を交換します。

事前定義されたイテレータ

シニア番号 非メンバー関数のオーバーロードと説明
1 演算子(unordered_set)

ハッシュ関数を取得するために使用されます。

2 スワップ(unordered_set)

2つのunordered_setコンテナの内容を交換します。