webkit  2cdf99a9e3038c7e01b3c37e8ad903ecbe5eecf1
https://github.com/WebKit/webkit
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
Public Member Functions | Public Attributes | List of all members
WTF::Atomic< T > Struct Template Reference

#include <Atomics.h>

Public Member Functions

ALWAYS_INLINE T load (std::memory_order order=std::memory_order_seq_cst) const
 
ALWAYS_INLINE T loadRelaxed () const
 
ALWAYS_INLINE void store (T desired, std::memory_order order=std::memory_order_seq_cst)
 
ALWAYS_INLINE bool compareExchangeWeak (T expected, T desired, std::memory_order order=std::memory_order_seq_cst)
 
ALWAYS_INLINE bool compareExchangeWeakRelaxed (T expected, T desired)
 
ALWAYS_INLINE bool compareExchangeWeak (T expected, T desired, std::memory_order order_success, std::memory_order order_failure)
 
ALWAYS_INLINE T compareExchangeStrong (T expected, T desired, std::memory_order order=std::memory_order_seq_cst)
 
ALWAYS_INLINE T compareExchangeStrong (T expected, T desired, std::memory_order order_success, std::memory_order order_failure)
 
template<typename U >
ALWAYS_INLINE T exchangeAdd (U operand, std::memory_order order=std::memory_order_seq_cst)
 
template<typename U >
ALWAYS_INLINE T exchangeAnd (U operand, std::memory_order order=std::memory_order_seq_cst)
 
template<typename U >
ALWAYS_INLINE T exchangeOr (U operand, std::memory_order order=std::memory_order_seq_cst)
 
template<typename U >
ALWAYS_INLINE T exchangeSub (U operand, std::memory_order order=std::memory_order_seq_cst)
 
template<typename U >
ALWAYS_INLINE T exchangeXor (U operand, std::memory_order order=std::memory_order_seq_cst)
 
ALWAYS_INLINE T exchange (T newValue, std::memory_order order=std::memory_order_seq_cst)
 
template<typename Func >
ALWAYS_INLINE bool tryTransactionRelaxed (const Func &func)
 
template<typename Func >
ALWAYS_INLINE void transactionRelaxed (const Func &func)
 
template<typename Func >
ALWAYS_INLINE bool tryTransaction (const Func &func)
 
template<typename Func >
ALWAYS_INLINE void transaction (const Func &func)
 
ALWAYS_INLINE T load (std::memory_order order=std::memory_order_seq_cst) const
 
ALWAYS_INLINE T loadRelaxed () const
 
ALWAYS_INLINE void store (T desired, std::memory_order order=std::memory_order_seq_cst)
 
ALWAYS_INLINE bool compareExchangeWeak (T expected, T desired, std::memory_order order=std::memory_order_seq_cst)
 
ALWAYS_INLINE bool compareExchangeWeakRelaxed (T expected, T desired)
 
ALWAYS_INLINE bool compareExchangeWeak (T expected, T desired, std::memory_order order_success, std::memory_order order_failure)
 
ALWAYS_INLINE T compareExchangeStrong (T expected, T desired, std::memory_order order=std::memory_order_seq_cst)
 
ALWAYS_INLINE T compareExchangeStrong (T expected, T desired, std::memory_order order_success, std::memory_order order_failure)
 
template<typename U >
ALWAYS_INLINE T exchangeAdd (U operand, std::memory_order order=std::memory_order_seq_cst)
 
template<typename U >
ALWAYS_INLINE T exchangeAnd (U operand, std::memory_order order=std::memory_order_seq_cst)
 
template<typename U >
ALWAYS_INLINE T exchangeOr (U operand, std::memory_order order=std::memory_order_seq_cst)
 
template<typename U >
ALWAYS_INLINE T exchangeSub (U operand, std::memory_order order=std::memory_order_seq_cst)
 
template<typename U >
ALWAYS_INLINE T exchangeXor (U operand, std::memory_order order=std::memory_order_seq_cst)
 
ALWAYS_INLINE T exchange (T newValue, std::memory_order order=std::memory_order_seq_cst)
 
template<typename Func >
ALWAYS_INLINE bool tryTransactionRelaxed (const Func &func)
 
template<typename Func >
ALWAYS_INLINE void transactionRelaxed (const Func &func)
 
template<typename Func >
ALWAYS_INLINE bool tryTransaction (const Func &func)
 
template<typename Func >
ALWAYS_INLINE void transaction (const Func &func)
 
ALWAYS_INLINE T load (std::memory_order order=std::memory_order_seq_cst) const
 
ALWAYS_INLINE T loadRelaxed () const
 
ALWAYS_INLINE void store (T desired, std::memory_order order=std::memory_order_seq_cst)
 
ALWAYS_INLINE bool compareExchangeWeak (T expected, T desired, std::memory_order order=std::memory_order_seq_cst)
 
ALWAYS_INLINE bool compareExchangeWeakRelaxed (T expected, T desired)
 
ALWAYS_INLINE bool compareExchangeWeak (T expected, T desired, std::memory_order order_success, std::memory_order order_failure)
 
ALWAYS_INLINE T compareExchangeStrong (T expected, T desired, std::memory_order order=std::memory_order_seq_cst)
 
ALWAYS_INLINE T compareExchangeStrong (T expected, T desired, std::memory_order order_success, std::memory_order order_failure)
 
template<typename U >
ALWAYS_INLINE T exchangeAdd (U operand, std::memory_order order=std::memory_order_seq_cst)
 
template<typename U >
ALWAYS_INLINE T exchangeAnd (U operand, std::memory_order order=std::memory_order_seq_cst)
 
template<typename U >
ALWAYS_INLINE T exchangeOr (U operand, std::memory_order order=std::memory_order_seq_cst)
 
template<typename U >
ALWAYS_INLINE T exchangeSub (U operand, std::memory_order order=std::memory_order_seq_cst)
 
template<typename U >
ALWAYS_INLINE T exchangeXor (U operand, std::memory_order order=std::memory_order_seq_cst)
 
ALWAYS_INLINE T exchange (T newValue, std::memory_order order=std::memory_order_seq_cst)
 
template<typename Func >
ALWAYS_INLINE bool tryTransactionRelaxed (const Func &func)
 
template<typename Func >
ALWAYS_INLINE void transactionRelaxed (const Func &func)
 
template<typename Func >
ALWAYS_INLINE bool tryTransaction (const Func &func)
 
template<typename Func >
ALWAYS_INLINE void transaction (const Func &func)
 

Public Attributes

std::atomic< Tvalue
 

Member Function Documentation

◆ compareExchangeStrong() [1/6]

template<typename T>
ALWAYS_INLINE T WTF::Atomic< T >::compareExchangeStrong ( T  expected,
T  desired,
std::memory_order  order = std::memory_order_seq_cst 
)
inline

◆ compareExchangeStrong() [2/6]

template<typename T>
ALWAYS_INLINE T WTF::Atomic< T >::compareExchangeStrong ( T  expected,
T  desired,
std::memory_order  order = std::memory_order_seq_cst 
)
inline

◆ compareExchangeStrong() [3/6]

template<typename T>
ALWAYS_INLINE T WTF::Atomic< T >::compareExchangeStrong ( T  expected,
T  desired,
std::memory_order  order = std::memory_order_seq_cst 
)
inline

◆ compareExchangeStrong() [4/6]

template<typename T>
ALWAYS_INLINE T WTF::Atomic< T >::compareExchangeStrong ( T  expected,
T  desired,
std::memory_order  order_success,
std::memory_order  order_failure 
)
inline

◆ compareExchangeStrong() [5/6]

template<typename T>
ALWAYS_INLINE T WTF::Atomic< T >::compareExchangeStrong ( T  expected,
T  desired,
std::memory_order  order_success,
std::memory_order  order_failure 
)
inline

◆ compareExchangeStrong() [6/6]

template<typename T>
ALWAYS_INLINE T WTF::Atomic< T >::compareExchangeStrong ( T  expected,
T  desired,
std::memory_order  order_success,
std::memory_order  order_failure 
)
inline

◆ compareExchangeWeak() [1/6]

template<typename T>
ALWAYS_INLINE bool WTF::Atomic< T >::compareExchangeWeak ( T  expected,
T  desired,
std::memory_order  order = std::memory_order_seq_cst 
)
inline

◆ compareExchangeWeak() [2/6]

template<typename T>
ALWAYS_INLINE bool WTF::Atomic< T >::compareExchangeWeak ( T  expected,
T  desired,
std::memory_order  order = std::memory_order_seq_cst 
)
inline

◆ compareExchangeWeak() [3/6]

template<typename T>
ALWAYS_INLINE bool WTF::Atomic< T >::compareExchangeWeak ( T  expected,
T  desired,
std::memory_order  order = std::memory_order_seq_cst 
)
inline

◆ compareExchangeWeak() [4/6]

template<typename T>
ALWAYS_INLINE bool WTF::Atomic< T >::compareExchangeWeak ( T  expected,
T  desired,
std::memory_order  order_success,
std::memory_order  order_failure 
)
inline

◆ compareExchangeWeak() [5/6]

template<typename T>
ALWAYS_INLINE bool WTF::Atomic< T >::compareExchangeWeak ( T  expected,
T  desired,
std::memory_order  order_success,
std::memory_order  order_failure 
)
inline

◆ compareExchangeWeak() [6/6]

template<typename T>
ALWAYS_INLINE bool WTF::Atomic< T >::compareExchangeWeak ( T  expected,
T  desired,
std::memory_order  order_success,
std::memory_order  order_failure 
)
inline

◆ compareExchangeWeakRelaxed() [1/3]

template<typename T>
ALWAYS_INLINE bool WTF::Atomic< T >::compareExchangeWeakRelaxed ( T  expected,
T  desired 
)
inline

◆ compareExchangeWeakRelaxed() [2/3]

template<typename T>
ALWAYS_INLINE bool WTF::Atomic< T >::compareExchangeWeakRelaxed ( T  expected,
T  desired 
)
inline

◆ compareExchangeWeakRelaxed() [3/3]

template<typename T>
ALWAYS_INLINE bool WTF::Atomic< T >::compareExchangeWeakRelaxed ( T  expected,
T  desired 
)
inline

◆ exchange() [1/3]

template<typename T>
ALWAYS_INLINE T WTF::Atomic< T >::exchange ( T  newValue,
std::memory_order  order = std::memory_order_seq_cst 
)
inline

◆ exchange() [2/3]

template<typename T>
ALWAYS_INLINE T WTF::Atomic< T >::exchange ( T  newValue,
std::memory_order  order = std::memory_order_seq_cst 
)
inline

◆ exchange() [3/3]

template<typename T>
ALWAYS_INLINE T WTF::Atomic< T >::exchange ( T  newValue,
std::memory_order  order = std::memory_order_seq_cst 
)
inline

◆ exchangeAdd() [1/3]

template<typename T>
template<typename U >
ALWAYS_INLINE T WTF::Atomic< T >::exchangeAdd ( U  operand,
std::memory_order  order = std::memory_order_seq_cst 
)
inline

◆ exchangeAdd() [2/3]

template<typename T>
template<typename U >
ALWAYS_INLINE T WTF::Atomic< T >::exchangeAdd ( U  operand,
std::memory_order  order = std::memory_order_seq_cst 
)
inline

◆ exchangeAdd() [3/3]

template<typename T>
template<typename U >
ALWAYS_INLINE T WTF::Atomic< T >::exchangeAdd ( U  operand,
std::memory_order  order = std::memory_order_seq_cst 
)
inline

◆ exchangeAnd() [1/3]

template<typename T>
template<typename U >
ALWAYS_INLINE T WTF::Atomic< T >::exchangeAnd ( U  operand,
std::memory_order  order = std::memory_order_seq_cst 
)
inline

◆ exchangeAnd() [2/3]

template<typename T>
template<typename U >
ALWAYS_INLINE T WTF::Atomic< T >::exchangeAnd ( U  operand,
std::memory_order  order = std::memory_order_seq_cst 
)
inline

◆ exchangeAnd() [3/3]

template<typename T>
template<typename U >
ALWAYS_INLINE T WTF::Atomic< T >::exchangeAnd ( U  operand,
std::memory_order  order = std::memory_order_seq_cst 
)
inline

◆ exchangeOr() [1/3]

template<typename T>
template<typename U >
ALWAYS_INLINE T WTF::Atomic< T >::exchangeOr ( U  operand,
std::memory_order  order = std::memory_order_seq_cst 
)
inline

◆ exchangeOr() [2/3]

template<typename T>
template<typename U >
ALWAYS_INLINE T WTF::Atomic< T >::exchangeOr ( U  operand,
std::memory_order  order = std::memory_order_seq_cst 
)
inline

◆ exchangeOr() [3/3]

template<typename T>
template<typename U >
ALWAYS_INLINE T WTF::Atomic< T >::exchangeOr ( U  operand,
std::memory_order  order = std::memory_order_seq_cst 
)
inline

◆ exchangeSub() [1/3]

template<typename T>
template<typename U >
ALWAYS_INLINE T WTF::Atomic< T >::exchangeSub ( U  operand,
std::memory_order  order = std::memory_order_seq_cst 
)
inline

◆ exchangeSub() [2/3]

template<typename T>
template<typename U >
ALWAYS_INLINE T WTF::Atomic< T >::exchangeSub ( U  operand,
std::memory_order  order = std::memory_order_seq_cst 
)
inline

◆ exchangeSub() [3/3]

template<typename T>
template<typename U >
ALWAYS_INLINE T WTF::Atomic< T >::exchangeSub ( U  operand,
std::memory_order  order = std::memory_order_seq_cst 
)
inline

◆ exchangeXor() [1/3]

template<typename T>
template<typename U >
ALWAYS_INLINE T WTF::Atomic< T >::exchangeXor ( U  operand,
std::memory_order  order = std::memory_order_seq_cst 
)
inline

◆ exchangeXor() [2/3]

template<typename T>
template<typename U >
ALWAYS_INLINE T WTF::Atomic< T >::exchangeXor ( U  operand,
std::memory_order  order = std::memory_order_seq_cst 
)
inline

◆ exchangeXor() [3/3]

template<typename T>
template<typename U >
ALWAYS_INLINE T WTF::Atomic< T >::exchangeXor ( U  operand,
std::memory_order  order = std::memory_order_seq_cst 
)
inline

◆ load() [1/3]

template<typename T>
ALWAYS_INLINE T WTF::Atomic< T >::load ( std::memory_order  order = std::memory_order_seq_cst) const
inline

◆ load() [2/3]

template<typename T>
ALWAYS_INLINE T WTF::Atomic< T >::load ( std::memory_order  order = std::memory_order_seq_cst) const
inline

◆ load() [3/3]

template<typename T>
ALWAYS_INLINE T WTF::Atomic< T >::load ( std::memory_order  order = std::memory_order_seq_cst) const
inline

◆ loadRelaxed() [1/3]

template<typename T>
ALWAYS_INLINE T WTF::Atomic< T >::loadRelaxed ( ) const
inline

◆ loadRelaxed() [2/3]

template<typename T>
ALWAYS_INLINE T WTF::Atomic< T >::loadRelaxed ( ) const
inline

◆ loadRelaxed() [3/3]

template<typename T>
ALWAYS_INLINE T WTF::Atomic< T >::loadRelaxed ( ) const
inline

◆ store() [1/3]

template<typename T>
ALWAYS_INLINE void WTF::Atomic< T >::store ( T  desired,
std::memory_order  order = std::memory_order_seq_cst 
)
inline

◆ store() [2/3]

template<typename T>
ALWAYS_INLINE void WTF::Atomic< T >::store ( T  desired,
std::memory_order  order = std::memory_order_seq_cst 
)
inline

◆ store() [3/3]

template<typename T>
ALWAYS_INLINE void WTF::Atomic< T >::store ( T  desired,
std::memory_order  order = std::memory_order_seq_cst 
)
inline

◆ transaction() [1/3]

template<typename T>
template<typename Func >
ALWAYS_INLINE void WTF::Atomic< T >::transaction ( const Func &  func)
inline

◆ transaction() [2/3]

template<typename T>
template<typename Func >
ALWAYS_INLINE void WTF::Atomic< T >::transaction ( const Func &  func)
inline

◆ transaction() [3/3]

template<typename T>
template<typename Func >
ALWAYS_INLINE void WTF::Atomic< T >::transaction ( const Func &  func)
inline

◆ transactionRelaxed() [1/3]

template<typename T>
template<typename Func >
ALWAYS_INLINE void WTF::Atomic< T >::transactionRelaxed ( const Func &  func)
inline

◆ transactionRelaxed() [2/3]

template<typename T>
template<typename Func >
ALWAYS_INLINE void WTF::Atomic< T >::transactionRelaxed ( const Func &  func)
inline

◆ transactionRelaxed() [3/3]

template<typename T>
template<typename Func >
ALWAYS_INLINE void WTF::Atomic< T >::transactionRelaxed ( const Func &  func)
inline

◆ tryTransaction() [1/3]

template<typename T>
template<typename Func >
ALWAYS_INLINE bool WTF::Atomic< T >::tryTransaction ( const Func &  func)
inline

◆ tryTransaction() [2/3]

template<typename T>
template<typename Func >
ALWAYS_INLINE bool WTF::Atomic< T >::tryTransaction ( const Func &  func)
inline

◆ tryTransaction() [3/3]

template<typename T>
template<typename Func >
ALWAYS_INLINE bool WTF::Atomic< T >::tryTransaction ( const Func &  func)
inline

◆ tryTransactionRelaxed() [1/3]

template<typename T>
template<typename Func >
ALWAYS_INLINE bool WTF::Atomic< T >::tryTransactionRelaxed ( const Func &  func)
inline

◆ tryTransactionRelaxed() [2/3]

template<typename T>
template<typename Func >
ALWAYS_INLINE bool WTF::Atomic< T >::tryTransactionRelaxed ( const Func &  func)
inline

◆ tryTransactionRelaxed() [3/3]

template<typename T>
template<typename Func >
ALWAYS_INLINE bool WTF::Atomic< T >::tryTransactionRelaxed ( const Func &  func)
inline

Member Data Documentation

◆ value

template<typename T>
std::atomic< T > WTF::Atomic< T >::value

The documentation for this struct was generated from the following file: