Para ver el artículo en inglés, active la casilla Inglés. También puede ver el texto en inglés en una ventana emergente si pasa el puntero del mouse por el texto.
Traducción
Inglés

atomic_compare_exchange_weak_explicit (Función)

 

Realiza una operación atómica débil de comparación e intercambio.

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;

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.

Número bool que indica el resultado de la comparación de valores.

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, la operación reemplaza el valor almacenado en el objeto al que apunta Atom 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.

Una operación atómica débil de comparación e intercambio realiza un intercambio si los valores comparados son iguales.Sin embargo, si los valores no son iguales, no se garantiza que la operación realice un intercambio.

Requisitos

Encabezado: atomic

Espacio de nombres: std

Mostrar: