std::experimental::atomic_shared_ptr<T>:: exchange
From cppreference.net
<
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
<
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
に対するアトミック操作を特殊化
(関数テンプレート) |