std::atomic_ref<T>:: fetch_and
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
T
が
cv
bool
以外の整数型である場合にのみ提供される
|
||
|
value_type fetch_and
(
value_type arg,
std::
memory_order
order
=
|
(C++20以降) | |
参照先オブジェクトの現在値を、値と arg のビット単位AND演算の結果でアトミックに置き換えます。この操作はread-modify-write操作です。メモリは order の値に従って影響を受けます。
このオーバーロードは、 std:: is_const_v < T > が false の場合にのみ、オーバーロード解決に参加します。
目次 |
パラメータ
| arg | - | ビット単位ANDのもう一方の引数 |
| order | - | 適用するメモリ順序制約 |
戻り値
この関数の効果が適用される直前の、参照先オブジェクトの値。
例
|
このセクションは不完全です
理由: 例がありません |
不具合報告
以下の動作変更の欠陥報告書は、以前に公開されたC++規格に対して遡及的に適用されました。
| DR | 適用対象 | 公開時の動作 | 正しい動作 |
|---|---|---|---|
|
LWG 3508
( P3323R1 ) |
C++20 |
fetch_and
は
const
T
に対して無意味であった
|
constでない
T
のみを受け入れるように制約
|