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 |