atomic_fetch_sub, funkcja
Odejmuje wartość z istniejącej wartości przechowywanej w obiekcie atomic.
template <class T> T* atomic_fetch_sub(
volatile atomic<T*> *Atom,
ptrdiff_t Value
) noexcept;
template <class T> T* atomic_fetch_sub(
atomic<T*> *Atom,
ptrdiff_t Value
) 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_sub wykonuje operację read-modify-write, aby przeprowadzić odejmowanie niepodzielne Value z wartości przechowywanej w Atom, z wykorzystaniem ograniczenia memory_order_seq_cstmemory_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_sub(
volatile atomic-integral * Atom, integral Value
) noexcept;
integral atomic_fetch_sub(
atomic-integral * Atom, integral Value
) noexcept;
Wymagania
Nagłówek: niepodzielny
Przestrzeń nazw: std