名前空間
変種
操作

std::unordered_set<Key,Hash,KeyEqual,Allocator>::swap

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

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

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

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

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

目次

[編集] 引数

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

[編集] 戻り値

(なし)

[編集] 例外

Hash または KeyEqual オブジェクトの swap によって投げられるあらゆる例外。

(C++17未満)
noexcept 指定:  
noexcept(std::allocator_traits<Allocator>::is_always_equal::value

&& std::is_nothrow_swappable<Hash>::value

&& std::is_nothrow_swappable<key_equal>::value)
(C++17以上)

[編集] 計算量

一定。

[編集] 関連項目

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