[atomics.types.memop]

# 32 Concurrency support library [[thread]](./#thread)

## 32.5 Atomic operations [[atomics]](atomics#types.memop)

### 32.5.8 Class template atomic [[atomics.types.generic]](atomics.types.generic#atomics.types.memop)

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

[ð](#lib:operator++,atomic%3cT*%3e)

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

[1](#1)

[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/threads.tex#L6003)

*Constraints*: For the volatile overload of this function,is_always_lock_free is true[.](#1.sentence-1)

[2](#2)

[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/threads.tex#L6008)

*Effects*: Equivalent to: return fetch_add(1);

[ð](#lib:operator--,atomic%3cT*%3e)

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

[3](#3)

[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/threads.tex#L6021)

*Constraints*: For the volatile overload of this function,is_always_lock_free is true[.](#3.sentence-1)

[4](#4)

[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/threads.tex#L6026)

*Effects*: Equivalent to: return fetch_sub(1);

[ð](#lib:operator++,atomic%3cT*%3e_)

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

[5](#5)

[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/threads.tex#L6039)

*Constraints*: For the volatile overload of this function,is_always_lock_free is true[.](#5.sentence-1)

[6](#6)

[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/threads.tex#L6044)

*Effects*: Equivalent to: return fetch_add(1) + 1;

[ð](#lib:operator--,atomic%3cT*%3e_)

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

[7](#7)

[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/threads.tex#L6057)

*Constraints*: For the volatile overload of this function,is_always_lock_free is true[.](#7.sentence-1)

[8](#8)

[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/threads.tex#L6062)

*Effects*: Equivalent to: return fetch_sub(1) - 1;
