Funzione atomic_fetch_add_explicit
Aggiunge un valore a un valore esistente archiviato in un oggetto 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;
Parametri
Atom
Puntatore a un oggetto atomic che include un puntatore al tipo T.Value
Valore di tipo ptrdiff_t.
Valore restituito
Valore del puntatore contenuto dall'oggetto atomico immediatamente prima dell'esecuzione dell'operazione.
Note
La funzione atomic_fetch_add_explicit esegue un'operazione read-modify-write per aggiungere in modalità atomica Value al valore memorizzato in Atom, entro i limiti memory_order che sono specificati da Order.
Quando il tipo atomico è atomic_address, Value ha il tipo ptrdiff_t e l'operazione considera il puntatore archiviato come char *.
Questa operazione è anche sottoposta a overload per i tipi integrali:
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;
Requisiti
Intestazione: atomico
Spazio dei nomi: std