Compartir a través de


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

Vea también

Referencia

<atomic>

atomic (Estructura)

atomic_fetch_sub_explicit (Función)