std::experimental::atomic_shared_ptr<T>::exchange
From cppreference.com
< cpp | experimental | atomic shared ptr
| shared_ptr<T> exchange( shared_ptr<T> desired, std::memory_order order = std::memory_order_seq_cst ) noexcept; |
||
アトミックに、基盤となるshared_ptrをdesiredで置き換えます。この操作は読み取り・変更・書き込み操作です。メモリはorderの値に従って影響を受けます。
目次 |
[編集] パラメータ
| desired | - | 代入する値 |
| order | - | 強制するメモリ順序制約 |
[編集] 戻り値
呼び出し前のアトミック変数の値。
[編集] 備考
atomic_shared_ptr オブジェクト自体へのすべての変更、および関連するすべての use_count のインクリメントは、アトミックに実行されることが保証されています。関連する use_count のデクリメントは、アトミック操作の後に発生しますが、その一部である必要はありません。関連する破棄または解放操作は、アトミック操作の後に発生し、その一部ではありません。
[編集] 関連項目
std::shared_ptr のアトミック操作を特殊化する(関数テンプレート) |