Documentation Home >> Headers >> <atomic> Header >> std::atomic >> specializations >> std::atomic<T*> >> std::atomic<T*>::fetch_add member function

Atomically load a value and replace it with the sum of that value and the supplied value i using standard pointer arithmetic rules, and return the old value.

T* fetch_add(
    ptrdiff_t i,
    memory_order order = memory_order_seq_cst)
    volatile;

Effects:

Atomically retrieves the existing value of *this and stores old-value + i in *this.

Returns:

The value of *this immediately prior to the store.

Throws:

Nothing.

Note:

This is an atomic read-modify-write operation for the memory location comprising *this.

Header

#include <atomic>

See Also