atomic_fetch_add-Funktion
Fügt einem vorhandenen Wert einen in einem atomic-Objekt gespeicherten Wert hinzu.
template <class T> T* atomic_fetch_add(
volatile atomic<T*> *Atom,
ptrdiff_t Value
) noexcept;
template <class T> T* atomic_fetch_add(
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 Funktion atomic_fetch_add führt read-modify-write einen Vorgang aus, um dem in Atom gespeicherten Wert atomisch Value hinzuzufügen, indem die memory_order_seq_cst memory_order-Einschränkung verwendet wird.
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_add(
volatile atomic-integral * Atom, integral Value
) noexcept;
integral atomic_fetch_add(
atomic-integral * Atom, integral Value
) noexcept;
Anforderungen
Header: atomisch
Namespace: std