名前空間
変種
操作

std::vector<T,Allocator>::swap

提供: cppreference.com
< cpp‎ | container‎ | vector
2013年7月2日 (火) 12:55時点におけるP12bot (トーク | 投稿記録)による版

(差分) ←前の版 | 最新版 (差分) | 次の版→ (差分)
 
 
 
 
void swap( vector& other );
(C++17未満)
void swap( vector& other ) noexcept(/* see below */);
(C++17以上)

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

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


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

目次

[編集] 引数

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

[編集] 戻り値

(なし)

[編集] 例外

(なし)

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

[編集] 計算量

一定。

[編集] 関連項目

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