Sdílet prostřednictvím


atomic_fetch_add_explicit – funkce

Přidá hodnotu do existující hodnoty, která je uložena v objektu 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;

Parametry

  • Atom
    Ukazatel na objekt atomic, který ukládá ukazatel na typ T.

  • Value
    Hodnota typu ptrdiff_t.

Vrácená hodnota

Hodnota ukazatele obsažená v atomickém objektu těsně před spuštěním operace.

Poznámky

Funkce atomic_fetch_add_explicit provádí operaci read-modify-write k atomickému přidání hodnoty Value do hodnoty uložené v proměnné Atom v rámci omezení memory_order, která jsou určena podle Order.

Pokud je atomický typ atomic_address, Value je typu ptrdiff_t a operace považují uložený ukazatel jako char *.

Tato operace je také přetížena pro integrální typy:

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;

Požadavky

Záhlaví: atomic

Obor názvů: std

Viz také

Referenční dokumentace

<atomic>

atomic – struktura

atomic_fetch_add – funkce