atomic_fetch_sub-Funktion
Subtrahiert einen Wert von einem in einem atomic-Objekt vorhandenen Wert.
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;
Parameter
Atom
Ein Zeiger auf ein atomic-Objekt, in dem ein Zeiger auf den Typ T gespeichert wird.Value
Ein Wert vom Typ ptrdiff_t.
Rückgabewert
Der Wert des unmittelbar vor dem Ausführen des Vorgangs im atomischen Objekt enthaltenen Zeigers.
Hinweise
Die atomic_fetch_sub-Funktion führt einen read-modify-write-Vorgang aus, um Value mithilfe der memory_order_seq_cst memory_order-Einschränkung atomisch vom gespeicherten Wert in Atom zu subtrahieren.
Wenn der atomische Typ atomic_address ist, dann ist Value vom Typ ptrdiff_t, und der Vorgang behandelt den gespeicherten Zeiger als char *.
Dieser Vorgang wird auch bei Integraltypen überladen:
integral atomic_fetch_sub(
volatile atomic-integral * Atom, integral Value
) noexcept;
integral atomic_fetch_sub(
atomic-integral * Atom, integral Value
) noexcept;
Anforderungen
Header: atomisch
Namespace: std