Share via


función atomic_compare_exchange_weak_explicit

Realiza un atómico débil comparan e intercambian la operación.

template <class Ty>
inline bool atomic_compare_exchange_weak_explicit(
   volatile atomic<Ty> *Atom,
   Ty *Exp,
   Ty Value,
   memory_order Order1,
   memory_order Order2
) _NOEXCEPT;
template <class Ty>
inline bool atomic_compare_exchange_weak_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, ni 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, la operación reemplaza el valor almacenado en el objeto que es indicada por Atom con Val mediante una operación y aplicar de read-modify-write las restricciones de orden desplazarlo 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 desplazarlo especificadas por Order2.

Un atómico débil compara y la operación de intercambio realiza un intercambio si los valores comparados son iguales.Sin embargo, si los valores no son iguales, la operación no se garantiza que realizar un intercambio.

Requisitos

encabezado: atómico

espacio de nombres: std

Vea también

Referencia

<atomic>

estructura atómica