<hash_set>
関数
スワップ
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 のコード例をご覧ください。