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