atomic_compare_exchange_strong_explicit (Función)
Realiza una operación atómica de comparación e intercambio.
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
Puntero a un objeto atomic que almacena un valor de tipo Ty.Exp
Puntero a un valor de tipo Ty.Value
Valor de tipo Ty.Order1
Primer argumento memory_order.Order2
Segundo argumento memory_order. El valor de Order2 no puede ser memory_order_release o memory_order_acq_rel, ni puede ser más seguro que el valor de Order1.
Valor devuelto
Número bool que indica el resultado de la comparación de valores.
Comentarios
Una operación atómica de comparación e intercambio compara el valor almacenado en el objeto al que apunta Atom con el valor al que apunta Exp. Si los valores son iguales, el valor almacenado en el objeto al que apunta atom se reemplaza con Val mediante una operación read-modify-write y la aplicación de las restricciones de ordenación de memoria especificadas por Order1. Si los valores no son iguales, la operación reemplaza el valor al que apunta Exp con el valor almacenado en el objeto al que apunta Atom y aplica las restricciones de ordenación de memoria especificadas por Order2.
Requisitos
Encabezado: atomic
Espacio de nombres: std