función atomic_compare_exchange_strong_explicit
Realiza un atómico comparan e intercambian la operación.
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
Un puntero a un objeto de atomic que almacena un valor de Tyescrito.Exp
Un puntero a un valor de Tyescrito.Value
Valor de tipo Ty.Order1
Primer argumento de memory_order .Order2
Segundo argumento de memory_order .El valor de Order2 no puede ser memory_order_release o memory_order_acq_rel, no puede ser más segura que el valor de Order1.
Valor devuelto
bool que indica el resultado de la comparación de valores.
Comentarios
Un atómico compara y la operación de intercambio compara el valor almacenado en el objeto que es indicada por Atom con el valor comunicado por a Exp.Si los valores son iguales, el valor almacenado en el objeto que es indicada por atom se reemplaza con Val mediante una operación y aplicar de read-modify-write memoria ordena las restricciones especificadas por Order1.Si los valores no son iguales, la operación reemplaza el valor comunicado por a Exp con el valor almacenado en el objeto que es indicada por Atom y aplica las restricciones de orden de memoria especificadas por Order2.
Requisitos
encabezado: atómico
espacio de nombres: std