std::atomic_ref<T>:: store
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
void
store
(
value_type desired,
std::
memory_order
order
=
|
(C++26以降 constexpr) | |
参照先オブジェクトの現在値をアトミックに desired で置き換えます。メモリへの影響は order の値に従って決定されます。
このオーバーロードは、 std:: is_const_v < T > が false の場合にのみ、オーバーロード解決に参加します。
order が std:: memory_order_relaxed 、 std:: memory_order_release または std:: memory_order_seq_cst でない場合、動作は未定義です。
パラメータ
| desired | - | 参照先オブジェクトに格納する値 |
| order | - | 適用するメモリ順序制約 |
不具合報告
以下の動作変更の欠陥報告書は、以前に公開されたC++規格に対して遡及的に適用されました。
| DR | 適用対象 | 公開時の動作 | 正しい動作 |
|---|---|---|---|
|
LWG 3508
( P3323R1 ) |
C++20 |
store
は
const
T
に対して無意味であった
|
constでない
T
のみを受け入れるように制約
|
関連項目
atomic_ref
オブジェクトによって参照されるオブジェクトに値を格納する
(公開メンバ関数) |