atomic_fetch_add_explicit — Funkcja
Dodaje wartość do istniejącej wartości przechowywanej w obiekcie 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;
Parametry
Atom
Wskaźnik do obiektu atomic, który przechowuje wskaźnik do typu T.Value
Wartość typu ptrdiff_t.
Wartość zwracana
Wartość wskaźnika zawierana przez obiekt niepodzielny bezpośrednio przed wykonaniem operacji.
Uwagi
Funkcja atomic_fetch_add_explicit wykonuje operację read-modify-write, aby przeprowadzić dodawanie niepodzielne Value do wartości przechowywanej w Atom, w ramach ograniczeń memory_order określonych przez Order.
Gdy typ niepodzielny to atomic_address, Value ma typ ptrdiff_t a operacja traktuje zapisywany wskaźnik jako char *.
Ta operacja jest również przeciążona dla typów całkowitych:
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;
Wymagania
Nagłówek: niepodzielny
Przestrzeń nazw: std