std::atomic<T>:: operator&=,|=,^=
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Member functions | ||||
|
(C++20)
|
||||
|
(C++20)
|
||||
|
(C++20)
|
||||
| Constants | ||||
|
(C++17)
|
||||
| Specialized member functions | ||||
|
Specialized for integral,
floating-point (C++20) and pointer types |
||||
|
Specialized for integral and
pointer types only |
||||
|
(C++26)
|
||||
|
(C++26)
|
||||
| Specialized for integral types only | ||||
|
atomic::operator&=
atomic::operator|=
atomic::operator^=
|
|
доступен только для
atomic<
Integral
>
специализаций
|
||
|
T operator
&
=
(
T arg
)
noexcept
;
|
(1) | (начиная с C++11) |
|
T operator
&
=
(
T arg
)
volatile
noexcept
;
|
(2) | (начиная с C++11) |
|
T operator
|
=
(
T arg
)
noexcept
;
|
(3) | (начиная с C++11) |
|
T operator
|
=
(
T arg
)
volatile
noexcept
;
|
(4) | (начиная с C++11) |
|
T operator
^
=
(
T arg
)
noexcept
;
|
(5) | (начиная с C++11) |
|
T operator
^
=
(
T arg
)
volatile
noexcept
;
|
(6) | (начиная с C++11) |
Атомарно заменяет текущее значение результатом вычисления с участием предыдущего значения и arg . Операция является операцией чтения-изменения-записи.
- operator & = выполняет атомарное побитовое И. Эквивалентно return fetch_and ( arg ) & arg ; .
- operator | = выполняет атомарное побитовое ИЛИ. Эквивалентно return fetch_or ( arg ) | arg ; .
- operator ^ = выполняет атомарное исключающее ИЛИ. Эквивалентно return fetch_xor ( arg ) ^ arg ; .
|
Устарело, если std:: atomic < T > :: is_always_lock_free равно false и любая перегрузка с volatile участвует в разрешении перегрузки. |
(since C++20) |
Содержание |
Параметры
| arg | - | аргумент для арифметической операции |
Возвращаемое значение
Результирующее значение (то есть результат применения соответствующего бинарного оператора к значению, непосредственно предшествующему эффектам соответствующей функции-члена в порядке модификации объекта * this ).
Примечания
В отличие от большинства операторов составного присваивания, операторы составного присваивания для атомарных типов не возвращают ссылку на свой левый аргумент. Вместо этого они возвращают копию сохраненного значения.
Смотрите также
|
атомно выполняет побитовое И между аргументом и значением атомарного объекта и получает значение, хранившееся ранее
(public member function) |
|
|
атомно выполняет побитовое ИЛИ между аргументом и значением атомарного объекта и получает значение, хранившееся ранее
(public member function) |
|
|
атомно выполняет побитовое исключающее ИЛИ между аргументом и значением атомарного объекта и получает значение, хранившееся ранее
(public member function) |
|
|
увеличивает или уменьшает атомарное значение на единицу
(public member function) |
|
|
добавляет к атомарному значению или вычитает из него
(public member function) |