Функция atomic_fetch_sub_explicit
Вычитает значение из существующего значения, хранящегося в объекте atomic.
template <class T> T* atomic_fetch_sub_explicit(
volatile atomic<T*> *Atom,
ptrdiff_t Value,
memory_order Order
) noexcept;
template <class T> T* atomic_fetch_sub_explicit(
atomic<T*> *Atom,
ptrdiff_t Value,
memory_order Order
) noexcept;
Параметры
Atom
Указатель на объект atomic, в котором хранится указатель на тип T.Value
Значение типа ptrdiff_t.
Возвращаемое значение
Значение указателя, содержавшееся в атомарном объекте непосредственно перед выполнением данной операции.
Заметки
Функция atomic_fetch_sub_explicit выполняет операцию read-modify-write, чтобы атомарным образом вычесть значение Value из хранимого значения в Atom, в пределах ограничений memory_order, заданных параметром Order.
Если атомарный тип — atomic_address, параметр Value имеет тип ptrdiff_t и операция обрабатывает сохраненный указатель как char *.
Эта операция также перегружена для целочисленных типов:
integral atomic_fetch_sub_explicit(
volatile atomic-integral * Atom, integral Value, memory_order Order
) noexcept;
integral atomic_fetch_sub_explicit(
atomic-integral * Atom, integral Value, memory_order Order
) noexcept;
Требования
Заголовок: atomic
Пространство имен: std