Namespaces
Variants

std::experimental::atomic_weak_ptr<T>:: exchange

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

基となる weak_ptr desired でアトミックに置き換えます。この操作は読み込み-修正-書き込み操作です。メモリへの影響は order の値に従って決定されます。

目次

パラメータ

期待値 - 割り当てる値
順序 - 適用するメモリ順序制約

戻り値

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

備考

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

関連項目

std::shared_ptr に対するアトミック操作を特殊化
(関数テンプレート)