Udostępnij za pośrednictwem


atomic_fetch_add_explicit — Funkcja

Dodaje wartość do istniejącej wartości przechowywanej w obiekcie 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
    Wskaźnik do obiektu atomic, który przechowuje wskaźnik do typu T.

  • Value
    Wartość typu ptrdiff_t.

Wartość zwracana

Wartość wskaźnika zawierana przez obiekt niepodzielny bezpośrednio przed wykonaniem operacji.

Uwagi

Funkcja atomic_fetch_add_explicit wykonuje operację read-modify-write, aby przeprowadzić dodawanie niepodzielne Value do wartości przechowywanej w Atom, w ramach ograniczeń memory_order określonych przez Order.

Gdy typ niepodzielny to atomic_address, Value ma typ ptrdiff_t a operacja traktuje zapisywany wskaźnik jako char *.

Ta operacja jest również przeciążona dla typów całkowitych:

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;

Wymagania

Nagłówek: niepodzielny

Przestrzeń nazw: std

Zobacz też

Informacje

<atomic>

atomic — Struktura

atomic_fetch_add, funkcja