if T is integral (1) | T operator+= (T val) volatile noexcept;T operator+= (T val) noexcept;T operator-= (T val) volatile noexcept;T operator-= (T val) noexcept;T operator&= (T val) volatile noexcept;T operator&= (T val) noexcept;T operator|= (T val) volatile noexcept;T operator|= (T val) noexcept;T operator^= (T val) volatile noexcept;T operator^= (T val) noexcept; |
---|---|
if T is pointer (2) | T operator+= (ptrdiff_t val) volatile noexcept;T operator+= (ptrdiff_t val) noexcept;T operator-= (ptrdiff_t val) volatile noexcept;T operator-= (ptrdiff_t val) noexcept; |
operator | member functions | supported for | |||
---|---|---|---|---|---|
comp. assign. | equivalent | integral types | pointer types | other types | |
+ | atomic::operator+= | atomic::fetch_add | yes | yes | no |
- | atomic::operator-= | atomic::fetch_sub | yes | yes | no |
& | atomic::operator&= | atomic::fetch_and | yes | no | no |
| | atomic::operator|= | atomic::fetch_or | yes | no | no |
^ | atomic::operator^= | atomic::fetch_xor | yes | no | no |