close
名前空間
変種

std::set<Key,Compare,Allocator>::swap

提供: cppreference.com
 
 
 
 
<tbody> </tbody>
void swap( set& other );
(C++17未満)
void swap( set& other ) noexcept(/* see below */);
(C++17以上)

コンテナの内容を other の内容と交換します。 個々の要素に対するいかなるムーブ、コピー、swap 操作も発生しません。

すべてのイテレータおよび参照は有効なまま残されます。 終端イテレータは無効化されます。

Pred オブジェクトは Swappable でなければならず、非メンバ swap の非修飾の呼び出しを使用して交換されます。

std::allocator_traits<allocator_type>::propagate_on_container_swap::value が true の場合、アロケータは非メンバ swap の非修飾の呼び出しを使用して交換されます。 そうでなければ交換されません (そして get_allocator() != other.get_allocator() の場合、動作は未定義です)。 (C++11以上)

引数

other - 内容を交換するコンテナ

戻り値

(なし)

例外

Compare オブジェクトの swap によって投げられるあらゆる例外。

(C++17未満)
noexcept 指定:  
noexcept(std::allocator_traits<Allocator>::is_always_equal::value && std::is_nothrow_swappable<Compare>::value)
(C++17以上)

計算量

一定。

関連項目

std::swap アルゴリズムの特殊化
(関数テンプレート) [edit]