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