[atomics.types.memop] (original) (raw)

31 Atomic operations library [atomics]

31.8 Class template atomic [atomics.types.generic]

31.8.5 Member operators common to integers and pointers to objects [atomics.types.memop]

value_type operator++(int) volatile noexcept; value_type operator++(int) noexcept;

Constraints:For the volatile overload of this function,is_­always_­lock_­free is true.

Effects:Equivalent to: return fetch_­add(1);

value_type operator--(int) volatile noexcept; value_type operator--(int) noexcept;

Constraints:For the volatile overload of this function,is_­always_­lock_­free is true.

Effects:Equivalent to: return fetch_­sub(1);

value_type operator++() volatile noexcept; value_type operator++() noexcept;

Constraints:For the volatile overload of this function,is_­always_­lock_­free is true.

Effects:Equivalent to: return fetch_­add(1) + 1;

value_type operator--() volatile noexcept; value_type operator--() noexcept;

Constraints:For the volatile overload of this function,is_­always_­lock_­free is true.

Effects:Equivalent to: return fetch_­sub(1) - 1;