Função atomic_fetch_add_explicit
Adiciona um valor a um valor existente que é armazenado em um objeto de 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;
Parâmetros
Atom
Um ponteiro para um objeto atomic que armazena um ponteiro do tipo T.Value
Um valor do tipo ptrdiff_t.
Valor de retorno
O valor do ponteiro contido no objeto atômico imediatamente antes da operação foi executado.
Comentários
A função atomic_fetch_add_explicit executa uma operação read-modify-write para adicionar automaticamente Value ao valor armazenado em Atom, dentro das restrições memory_order especificadas por Order.
Quando o tipo atômico é atomic_address, Value tem o tipo ptrdiff_t e a operação trata o ponteiro armazenado como char *.
Esta operação também está sobrecarregada para tipos integrais:
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;
Requisitos
Cabeçalho: atômico
std de Namespace: