Funkcja atomic_compare_exchange_weak_explicit
Wykonuje słabe porównaj Atomowej i wymiany operacji.
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;
Parametry
Atom
Wskaźnik do atomic obiekt, który przechowuje wartości typu Ty.Exp
Wskaźnik do wartości typu Ty.Value
Wartość typu Ty.Order1
Pierwszy memory_order argumentu.Order2
Drugi memory_order argumentu.Wartość Order2 nie może być memory_order_release lub memory_order_acq_rel, ani nie może być silniejszy niż wartość Order1.
Wartość zwracana
A bool wskazuje, że wynik porównania wartości.
Uwagi
Atomowej operacji porównaj i wymiany porównuje wartość przechowywaną w obiekt, który jest wskazywana przez Atom z wartości wskazywanej przez Exp.Jeśli wartości są równe, operacja zastępuje wartość przechowywaną w obiekt, który jest wskazywana przez Atom z Val za pomocą read-modify-write operacji i stosowania ograniczenia pamięci zamówienia, które są określone przez Order1.Jeśli wartości nie są równe, operacja zastępuje wartości wskazywanej przez Exp z wartością przechowywaną w obiekt, który jest wskazywana przez Atom i stosuje ograniczenia pamięci zamówienia, które są określone przez Order2.
A słabe atomowej operacji porównaj i wymiany wykonuje wymiany porównaniu wartości są równe.Jednakże jeśli wartości nie są równe, operacja nie jest gwarantowane przeprowadzić wymianę.
Wymagania
Nagłówek: atomic
Obszar nazw: std