Funkce atomic_compare_exchange_strong_explicit
Provede atomovou porovnat a exchange operace.
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;
Parametry
Atom
Ukazatel na atomic objekt, který uchovává hodnotu typu Ty.Exp
Ukazatel na hodnotu typu Ty.Value
Hodnota typu Ty.Order1
První memory_order argument.Order2
Druhý memory_order argument.Hodnota Order2 nemůže být memory_order_release nebo memory_order_acq_rel, nemůže být silnější než hodnota Order1.
Vrácená hodnota
A bool označuje výsledek porovnání hodnoty.
Poznámky
Atomická operace porovnání a výměnu porovnává hodnoty uložené v objektu, který se odkazuje Atom proti hodnotu, která se odkazuje Exp.Pokud shodné hodnoty hodnotu, která je uložena v objektu, který se odkazuje atom je nahrazen Val pomocí read-modify-write operace a použití paměti objednávky omezení, které jsou určeny Order1.Pokud hodnoty nejsou shodné, operace nahradí hodnotu, která se odkazuje Exp s hodnotou, který je uložen v objektu, který se odkazuje Atom a použije pořadí omezení paměti, které jsou určeny Order2.
Požadavky
Záhlaví: atomovou
Obor názvů: std