Mixes for Privacy and Anonymity in the Internet
Public Member Functions | Private Attributes | List of all members
weak_atomic< T > Class Template Reference

Public Member Functions

AE_NO_TSAN weak_atomic ()
 
template<typename U >
AE_NO_TSAN weak_atomic (U &&x)
 
AE_NO_TSAN weak_atomic (weak_atomic const &other)
 
AE_NO_TSAN weak_atomic (weak_atomic &&other)
 
AE_FORCEINLINE operator T () const AE_NO_TSAN
 
template<typename U >
AE_FORCEINLINE weak_atomic const & operator= (U &&x) AE_NO_TSAN
 
AE_FORCEINLINE weak_atomic const & operator= (weak_atomic const &other) AE_NO_TSAN
 
AE_FORCEINLINEload () const AE_NO_TSAN
 
AE_FORCEINLINEfetch_add_acquire (T increment) AE_NO_TSAN
 
AE_FORCEINLINEfetch_add_release (T increment) AE_NO_TSAN
 

Private Attributes

std::atomic< T > value
 

Constructor & Destructor Documentation

◆ weak_atomic() [1/4]

template<typename T >
AE_NO_TSAN weak_atomic< T >::weak_atomic ( )

◆ weak_atomic() [2/4]

template<typename T >
template<typename U >
AE_NO_TSAN weak_atomic< T >::weak_atomic ( U &&  x)

◆ weak_atomic() [3/4]

template<typename T >
AE_NO_TSAN weak_atomic< T >::weak_atomic ( weak_atomic< T > const &  other)

◆ weak_atomic() [4/4]

template<typename T >
AE_NO_TSAN weak_atomic< T >::weak_atomic ( weak_atomic< T > &&  other)

Member Function Documentation

◆ fetch_add_acquire()

template<typename T >
AE_FORCEINLINE T weak_atomic< T >::fetch_add_acquire ( increment)

◆ fetch_add_release()

template<typename T >
AE_FORCEINLINE T weak_atomic< T >::fetch_add_release ( increment)

◆ load()

template<typename T >
AE_FORCEINLINE T weak_atomic< T >::load ( ) const

◆ operator T()

template<typename T >
AE_FORCEINLINE weak_atomic< T >::operator T ( ) const

◆ operator=() [1/2]

template<typename T >
template<typename U >
AE_FORCEINLINE weak_atomic const& weak_atomic< T >::operator= ( U &&  x)

◆ operator=() [2/2]

template<typename T >
AE_FORCEINLINE weak_atomic const& weak_atomic< T >::operator= ( weak_atomic< T > const &  other)

Member Data Documentation

◆ value

template<typename T >
std::atomic<T> weak_atomic< T >::value
private