Namespaces
Variants

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

From cppreference.net
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 ;
**注記:** 指定された要件に従い、HTMLタグ、属性、` `タグ内のC++コード(`shared_ptr`、`exchange`、`desired`、`std::memory_order`、`noexcept`など)は翻訳せず、元のフォーマットを保持しています。このコードはC++の関数宣言であり、翻訳対象となる自然言語のテキストは含まれていません。

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

目次

パラメータ

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

戻り値

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

備考

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

関連項目

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