atomic_fetch_sub (Función)
Resta un valor a un valor existente almacenado en un objeto 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;
Parámetros
Atom
Un puntero a un objeto atomic que almacena un puntero para escribir T.Value
Valor de tipo ptrdiff_t.
Valor devuelto
El valor del puntero contenido en el objeto atómico inmediatamente antes de realizar la operación.
Comentarios
La función atomic_fetch_sub realiza una operación read-modify-write para restar Value atómicamente del valor almacenado en Atom, usando la restricción memory_order_seq_cst memory_order.
Cuando el tipo atómico es atomic_address, Value tiene el tipo ptrdiff_t y la operación trata el puntero almacenado como char *.
Esta operación también se sobrecarga para tipos enteros:
integral atomic_fetch_sub(
volatile atomic-integral * Atom, integral Value
) noexcept;
integral atomic_fetch_sub(
atomic-integral * Atom, integral Value
) noexcept;
Requisitos
Encabezado: atomic
Espacio de nombres: std