std::atomic_ref<T>::fetch_add
Min standard notice:
Atomically replaces the current value referenced by *ptr with the result of arithmetic addition of the value and arg. This operation is a read-modify-write operation. Memory is affected according to the value of order.
# Declarations
Provided only when T is an arithmetic type other than cv bool or a pointer-to-object type
value_type fetch_add( difference_type arg,
std::memory_order order =
std::memory_order_seq_cst ) const noexcept;
(constexpr since C++26)
# Parameters
arg: the other argument of arithmetic additionorder: memory order constraints to enforce
# Return value
The value referenced by *ptr, immediately preceding the effects of this function.
# Example
This section is incompleteReason: no example
# Defect reports
| DR | Applied to | Behavior as published | Correct behavior |
|---|---|---|---|
| LWG 3508(P3323R1) | C++20 | fetch_add was meaningless for const T | constrained to accept only non-const T |