atomic_fetch_add (Función)
Agrega un valor a un valor existente almacenado en un objeto atomic .
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;
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_add realiza una operación read-modify-write para sumar Value atómicamente al 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_add(
volatile atomic-integral * Atom, integral Value
) noexcept;
integral atomic_fetch_add(
atomic-integral * Atom, integral Value
) noexcept;
Requisitos
Encabezado: atomic
Espacio de nombres: std