Função atomic_compare_exchange_strong_explicit
Realiza uma exchange e comparar atômica operação.
template <class _Ty>
inline bool atomic_compare_exchange_strong_explicit(
volatile atomic<Ty> *Atom,
Ty *Exp,
Ty Value,
memory_order Order1,
memory_order Order2
) _NOEXCEPT;
template <class Ty>
inline bool atomic_compare_exchange_strong_explicit(
atomic<Ty> *Atom,
Ty *Exp,
Ty Value,
memory_order Order1,
memory_order Order2
) _NOEXCEPT;
Parâmetros
Atom
Um ponteiro para um atomic objeto que armazena um valor do tipo Ty.Exp
Um ponteiro para um valor do tipo Ty.Value
Um valor do tipo Ty.Order1
Primeiro memory_order argumento.Order2
Segundo memory_order argumento.O valor de Order2 não pode ser memory_order_release ou memory_order_acq_rel, não pode ser mais forte do que o valor de Order1.
Valor de retorno
A bool que indica o resultado da comparação de valor.
Comentários
Um operação atômica de comparar e exchange compara o valor armazenado no objeto que é apontado por Atom contra o valor é apontado por Exp.Se os valores forem iguais, o o valor armazenado no objeto que é apontado por atom é substituído por Val usando um read-modify-write operação e aplicando a memória ordem restrições especificadas pelo Order1.Se os valores não forem iguais, a operação substituirá o valor é apontado por Exp com o valor armazenado no objeto que é apontado por Atom e aplica as restrições de ordem de memória especificadas por Order2.
Requisitos
Cabeçalho: atômica
Namespace: std