|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 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^= |
member only of atomic<Integral > specializations | ||
T operator&=( T arg)noexcept; | (1) | (since C++11) |
T operator&=( T arg)volatilenoexcept; | (2) | (since C++11) |
T operator|=( T arg)noexcept; | (3) | (since C++11) |
T operator|=( T arg)volatilenoexcept; | (4) | (since C++11) |
T operator^=( T arg)noexcept; | (5) | (since C++11) |
T operator^=( T arg)volatilenoexcept; | (6) | (since C++11) |
Atomically replaces the current value with the result of computation involving the previous value andarg. The operation is read-modify-write operation.
It is deprecated ifstd::atomic<T>::is_always_lock_free isfalse and anyvolatile overload participates in overload resolution. | (since C++20) |
Contents |
| arg | - | the argument for the arithmetic operation |
The resulting value (that is, the result of applying the corresponding binary operator to the value immediately preceding the effects of the corresponding member function in themodification order of*this).
Unlike most compound assignment operators, the compound assignment operators for atomic types do not return a reference to their left-hand arguments. They return a copy of the stored value instead.
| atomically performs bitwise AND between the argument and the value of the atomic object and obtains the value held previously (public member function)[edit] | |
| atomically performs bitwise OR between the argument and the value of the atomic object and obtains the value held previously (public member function)[edit] | |
| atomically performs bitwise XOR between the argument and the value of the atomic object and obtains the value held previously (public member function)[edit] | |
| increments or decrements the atomic value by one (public member function)[edit] | |
| adds to or subtracts from the atomic value (public member function)[edit] |