std::atomic_compare_exchange_weak,std::atomic_compare_exchange_strong, – std::atomic_compare_exchange_weak,std::atomic_compare_exchange_strong,
Synopsis
Defined in header <atomic>
template< class T >
bool atomic_compare_exchange_weak(
std::atomic<T>* obj,
typename std::atomic<T>::value_type*
expected,
typename std::atomic<T>::value_type
desired ) noexcept;
template< class T >
bool atomic_compare_exchange_weak(
volatile std::atomic<T>* obj,
typename std::atomic<T>::value_type*
expected,
typename std::atomic<T>::value_type
desired ) noexcept;
template< class T >
bool atomic_compare_exchange_strong(
std::atomic<T>* obj,
typename std::atomic<T>::value_type*
expected,
typename std::atomic<T>::value_type
desired ) noexcept;
template< class T >
bool atomic_compare_exchange_strong(
volatile std::atomic<T>* obj,
typename std::atomic<T>::value_type*
expected,
typename std::atomic<T>::value_type
desired ) noexcept;
template< class T >
bool
atomic_compare_exchange_weak_explicit(
std::atomic<T>* obj,
typename std::atomic<T>::value_type* (1) (since
expected, C++11)
typename std::atomic<T>::value_type
desired,
std::memory_order succ,
std::memory_order fail ) noexcept;
template< class T >
bool (2) (since
atomic_compare_exchange_weak_explicit(