Funzione atomic_fetch_sub_explicit
Sottrae un valore da un valore esistente che è archiviato in un oggetto atomic.
template <class T> T* atomic_fetch_sub_explicit(
volatile atomic<T*> *Atom,
ptrdiff_t Value,
memory_order Order
) noexcept;
template <class T> T* atomic_fetch_sub_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_sub_explicit esegue un'operazione read-modify-write per sottrarre a livello atomico Value dal valore memorizzato in Atom, entro i vincoli 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_sub_explicit(
volatile atomic-integral * Atom, integral Value, memory_order Order
) noexcept;
integral atomic_fetch_sub_explicit(
atomic-integral * Atom, integral Value, memory_order Order
) noexcept;
Requisiti
Intestazione: atomico
Spazio dei nomi: std