次の方法で共有


<hash_set> 関数

スワップ
swap (hash_multiset)

スワップ

Note

この API は、互換性のために残されています。 代わりに、unordered_set クラスを使用してください。

2 つの hash_set の要素を交換します。

void swap(
    hash_set <Key, Traits, Allocator>& left,
    hash_set <Key, Traits, Allocator>& right);

パラメーター

right
交換する要素を提供する hash_set (hash_set left の要素と要素を交換する hash_set)。

left
要素が hash_set right の要素と交換される hash_set。

解説

swap テンプレート関数は、コンテナー クラス hash_set に特化したアルゴリズムであり、メンバー関数 left.swap(right) を実行します。 これは、コンパイラによる関数テンプレートの部分的な順序付けのインスタンスです。 テンプレートと関数呼び出しの照合が一意にならないようにテンプレート関数がオーバーロードされた場合、コンパイラは、最も特化したバージョンのテンプレート関数を選択します。 テンプレート関数の一般的なバージョン

template <class T> void swap(T>, T>)

は、algorithm クラスにあり、代入によって機能し、処理は低速です。 各コンテナー内の特化バージョンのほうが、コンテナー クラスの内部表現で使用できるため大幅に高速になります。

swap のテンプレート バージョンの使用例については、メンバー クラス hash_set::swap のコード例をご覧ください。

swap (hash_multiset)

Note

この API は、互換性のために残されています。 代わりに、unordered_set クラスを使用してください。

2 つの hash_multiset の要素を交換します。

void swap(hash_multiset <Key, Traits, Allocator>& left, hash_multiset <Key, Traits, Allocator>& right);

パラメーター

right
交換する要素を提供する hash_multiset (hash_multiset left の要素と要素を交換する hash_multiset)。

left
要素が hash_multiset right の要素と交換される hash_multiset。

解説

swap テンプレート関数は、コンテナー クラス hash_multiset に特化したアルゴリズムであり、メンバー関数 left.swap(right) を実行します。 これは、コンパイラによる関数テンプレートの部分的な順序付けのインスタンスです。 テンプレートと関数呼び出しの照合が一意にならないようにテンプレート関数がオーバーロードされた場合、コンパイラは、最も特化したバージョンのテンプレート関数を選択します。 テンプレート関数の一般的なバージョン

template <class T> void swap(T>, T>)

は、algorithm クラスにあり、代入によって機能し、処理は低速です。 各コンテナー内の特化バージョンのほうが、コンテナー クラスの内部表現で使用できるため大幅に高速になります。

swap のテンプレート バージョンの使用例については、メンバー クラス hash_multiset::swap のコード例をご覧ください。

関連項目

<hash_set>