std::atomic_ref<T>:: fetch_xor
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
仅当
T
为除
cv
bool
之外的整数类型时提供
|
||
|
value_type fetch_xor
(
value_type arg,
std::
memory_order
order
=
|
(C++20 起) | |
以原子方式将引用对象的当前值替换为原值与 arg 按位异或的结果。此操作属于读-改-写操作。内存访问顺序根据 order 参数的值确定。
此重载仅当 std:: is_const_v < T > 为 false 时参与重载决议。
参数
| arg | - | 按位异或运算的另一个参数 |
| order | - | 要强制执行的内存顺序约束 |
返回值
被引用对象的值,在此函数生效之前的值。
缺陷报告
下列行为变更缺陷报告被追溯应用于先前发布的C++标准。
| 缺陷报告 | 应用于 | 发布时的行为 | 正确行为 |
|---|---|---|---|
|
LWG 3508
( P3323R1 ) |
C++20 |
fetch_xor
对于
const
T
无意义
|
约束为仅接受非 const 的
T
|