名前空間
変種
操作

std::experimental::atomic_shared_ptr<T>::exchange

From cppreference.com
 
 
 
 
 
shared_ptr<T> exchange( shared_ptr<T> desired, std::memory_order order = std::memory_order_seq_cst ) noexcept;

アトミックに、基盤となるshared_ptrdesiredで置き換えます。この操作は読み取り・変更・書き込み操作です。メモリはorderの値に従って影響を受けます。

目次

[編集] パラメータ

desired - 代入する値
order - 強制するメモリ順序制約

[編集] 戻り値

呼び出し前のアトミック変数の値。

[編集] 備考

atomic_shared_ptr オブジェクト自体へのすべての変更、および関連するすべての use_count のインクリメントは、アトミックに実行されることが保証されています。関連する use_count のデクリメントは、アトミック操作の後に発生しますが、その一部である必要はありません。関連する破棄または解放操作は、アトミック操作の後に発生し、その一部ではありません。

[編集] 関連項目

std::shared_ptr のアトミック操作を特殊化する
(関数テンプレート) [編集]
English 日本語 中文(简体) 中文(繁體)