Atomically load a value and replace it with the difference of that value
and the supplied value i.
void* fetch_sub( ptrdiff_t i, memory_order order = memory_order_seq_cst) volatile;
- Effects:
Atomically retrieves the existing value of
*thisand stores(void*)((char*)old-value- i)in*this.- Returns:
The value of
*thisimmediately prior to the store.- Throws:
Nothing.
- Note:
This is an atomic read-modify-write operation for the memory location comprising
*this.
Header
#include <atomic>