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++.
| DR | Применяется к | Поведение в опубликованной версии | Корректное поведение |
|---|---|---|---|
|
LWG 3508
( P3323R1 ) |
C++20 |
fetch_xor
был бессмысленным для
const
T
|
ограничен для приема только неконстантного
T
|