<set> 関数
swap (map)
2 つの set の要素を交換します。
template <class Key, class Traits, class Allocator>
void swap(set<Key, Traits, Allocator>& left, set<Key, Traits, Allocator>& right);
パラメーター
right
交換する要素を提供するセット、または set left と要素を交換する set。
left
要素が set right の要素と交換される set。
注釈
テンプレート関数は、コンテナー クラス set に特化したアルゴリズムであり、メンバー関数 left.swap(right) を実行します。 これは、コンパイラによる関数テンプレートの部分的な順序付けのインスタンスです。 テンプレートと関数呼び出しの照合が一意にならないようにテンプレート関数がオーバーロードされた場合、コンパイラは、最も特化したバージョンのテンプレート関数を選択します。 テンプレート関数の一般的なバージョン
template<classT>void swap( T&, T&)
は、algorithm クラスにあり、代入によって機能し、処理は低速です。 各コンテナー内の特化バージョンのほうが、コンテナー クラスの内部表現で使用できるため大幅に高速になります。
例
swap のテンプレート バージョンの使用例については、メンバー クラス set::swap のコード例をご覧ください。
swap (multiset)
2 つの multiset の要素を交換します。
template <class Key, class Traits, class Allocator>
void swap(multiset<Key, Traits, Allocator>& left, multiset<Key, Traits, Allocator>& right);
パラメーター
right
交換する要素を提供する multiset (multiset left と要素を交換する multiset)。
left
要素が multiset right の要素と交換される multiset。
注釈
テンプレート関数は、コンテナー クラス multiset に特化したアルゴリズムであり、メンバー関数 left.swap(right) を実行します。 これは、コンパイラによる関数テンプレートの部分的な順序付けのインスタンスです。 テンプレートと関数呼び出しの照合が一意にならないようにテンプレート関数がオーバーロードされた場合、コンパイラは、最も特化したバージョンのテンプレート関数を選択します。 テンプレート関数の一般的なバージョン
template<classT>void swap( T&, T&)
は、algorithm クラスにあり、代入によって機能し、処理は低速です。 各コンテナー内の特化バージョンのほうが、コンテナー クラスの内部表現で使用できるため大幅に高速になります。
例
swap のテンプレート バージョンの使用例については、メンバー クラス multiset::swap のコード例をご覧ください。