Partager via


atomic_fetch_add_explicit, fonction

Ajoute une valeur à une valeur existante qui est stockées dans un objet atomic.

template <class T> T* atomic_fetch_add_explicit(
   volatile atomic<T*> *Atom,
   ptrdiff_t Value,
   memory_order Order
) noexcept;

template <class T> T* atomic_fetch_add_explicit(
   atomic<T*> *Atom,
   ptrdiff_t Value,
   memory_order Order
) noexcept;

Paramètres

  • Atom
    Pointeur vers un objet atomic qui stocke un pointeur vers un type T.

  • Value
    Valeur de type ptrdiff_t.

Valeur de retour

Valeur du pointeur contenue par l'objet atomique immédiatement avant l'exécution de l'opération.

Notes

La fonction atomic_fetch_add_explicit exécute une opération read-modify-write pour ajouter de manière atomique Value à la valeur stockée dans Atom, dans le cadre des contraintes memory_order spécifiées par Order.

Lorsque le type atomique est atomic_address, Value a le type ptrdiff_t et l'opération traite le pointeur stocké comme char *.

+Cette opération est également surchargée pour les types intégraux :

integral atomic_fetch_add_explicit(
    volatile atomic-integral * Atom, integral Value, memory_order Order
) noexcept;

integral atomic_fetch_add_explicit(
    atomic-integral * Atom, integral Value, memory_order Order
) noexcept;

Configuration requise

En-tête : atomique

Espace de noms : std

Voir aussi

Référence

<atomic>

atomic, structure

atomic_fetch_add, fonction