std::atomic_ref<T>::fetch_xor
Предоставляется только, если T является целочисленным типом, отличным от cv bool
| ||
value_type fetch_xor( value_type arg,
std::memory_order order =
std::memory_order_seq_cst ) const noexcept;
| (начиная с C++20) |
Атомарно заменяет текущее значение объекта, на который имеется ссылка, результатом побитового исключающего ИЛИ значения и arg. Эта операция является операцией чтения-модификации-записи. Влияние на память определяется значением order.
Эта перегрузка участвует в разрешении перегрузки только в том случае, если std::is_const_v<T> равно false.
Параметры
| arg | - | другой операнд побитового исключающего ИЛИ |
| order | - | ограничения на порядок операций с памятью |
Возвращаемое значение
Значение объекта, на который имеется ссылка, непосредственно перед воздействием этой функции.
Отчёты об ошибках
Следующие отчёты об ошибках, изменяющие поведение, были ретроактивно применены к ранее опубликованным стандартам C++.
| Отчёт об ошибке | Применён к | Поведение согласно опубликованной версии | Корректное поведение |
|---|---|---|---|
|
LWG 3508 (P3323R1) | C++20 |
fetch_xor не имело смысла для constT | ограничено приёмом только неконстантных T |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/atomic/atomic_ref/fetch_xor