Funzione atomic_fetch_sub
Sottrae un valore da un valore esistente che è archiviato in un oggetto 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;
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 esegue un'operazione read-modify-write per sottrarre a livello atomico Value dal valore memorizzato in Atom, utilizzando il vincolo memory_order_seq_cst memory_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(
volatile atomic-integral * Atom, integral Value
) noexcept;
integral atomic_fetch_sub(
atomic-integral * Atom, integral Value
) noexcept;
Requisiti
Intestazione: atomico
Spazio dei nomi: std