Documentation Home >> Headers >> <atomic> Header >> std::atomic >> specializations >> std::atomic<integral-type> >> std::atomic<integral-type>::exchange member function

Atomically store a new value and read the old one.

integral-type exchange(
    integral-type new_value,
    memory_order order = memory_order_seq_cst)
    volatile;

Effects:

Atomically store new_value in *this and retrieve the existing value of *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