Compartir a través de


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

Vea también

Referencia

<atomic>

estructura atómica