xrootd
Loading...
Searching...
No Matches
Public Member Functions | Private Attributes | List of all members
XrdSys::RAtomic< T * > Class Template Reference

#include <XrdSysRAtomic.hh>

Public Member Functions

T * operator= (T *v) noexcept
 
T * operator= (T *v) volatile noexcept
 
 operator T* () noexcept
 
 operator T* () volatile noexcept
 
T * operator-> () noexcept
 
T * operator++ (int) noexcept
 
T * operator++ (int) volatile noexcept
 
T * operator-- (int) noexcept
 
T * operator-- (int) volatile noexcept
 
T * operator++ () noexcept
 
T * operator++ () volatile noexcept
 
T * operator-- () noexcept
 
T * operator-- () volatile noexcept
 
T * operator+= (ptrdiff_t v) noexcept
 
T * operator+= (ptrdiff_t v) volatile noexcept
 
T * operator-= (ptrdiff_t v) noexcept
 
T * operator-= (ptrdiff_t v) volatile noexcept
 
T * compare_exchange_strong (T &v1, T *v2, std::memory_order mo1=std::memory_order_relaxed, std::memory_order mo2=std::memory_order_relaxed) noexcept
 
T * compare_exchange_strong (T &v1, T *v2, std::memory_order mo1=std::memory_order_relaxed, std::memory_order mo2=std::memory_order_relaxed) volatile noexcept
 
T * compare_exchange_weak (T &v1, T *v2, std::memory_order mo1=std::memory_order_relaxed, std::memory_order mo2=std::memory_order_relaxed) noexcept
 
T * compare_exchange_weak (T &v1, T *v2, std::memory_order mo1=std::memory_order_relaxed, std::memory_order mo2=std::memory_order_relaxed) volatile noexcept
 
T * exchange (T *v, std::memory_order mo=std::memory_order_relaxed) noexcept
 
T * exchange (T *v, std::memory_order mo=std::memory_order_relaxed) volatile noexcept
 
 RAtomic ()
 
 RAtomic (T *v)
 

Private Attributes

std::atomic< T * > _m
 

Constructor & Destructor Documentation

◆ RAtomic() [1/2]

template<typename T >
XrdSys::RAtomic< T * >::RAtomic ( )
inline

◆ RAtomic() [2/2]

template<typename T >
XrdSys::RAtomic< T * >::RAtomic ( T *  v)
inline

Member Function Documentation

◆ compare_exchange_strong() [1/2]

template<typename T >
T * XrdSys::RAtomic< T * >::compare_exchange_strong ( T &  v1,
T *  v2,
std::memory_order  mo1 = std::memory_order_relaxed,
std::memory_order  mo2 = std::memory_order_relaxed 
)
inlinenoexcept

◆ compare_exchange_strong() [2/2]

template<typename T >
T * XrdSys::RAtomic< T * >::compare_exchange_strong ( T &  v1,
T *  v2,
std::memory_order  mo1 = std::memory_order_relaxed,
std::memory_order  mo2 = std::memory_order_relaxed 
) volatile
inlinenoexcept

◆ compare_exchange_weak() [1/2]

template<typename T >
T * XrdSys::RAtomic< T * >::compare_exchange_weak ( T &  v1,
T *  v2,
std::memory_order  mo1 = std::memory_order_relaxed,
std::memory_order  mo2 = std::memory_order_relaxed 
)
inlinenoexcept

◆ compare_exchange_weak() [2/2]

template<typename T >
T * XrdSys::RAtomic< T * >::compare_exchange_weak ( T &  v1,
T *  v2,
std::memory_order  mo1 = std::memory_order_relaxed,
std::memory_order  mo2 = std::memory_order_relaxed 
) volatile
inlinenoexcept

◆ exchange() [1/2]

template<typename T >
T * XrdSys::RAtomic< T * >::exchange ( T *  v,
std::memory_order  mo = std::memory_order_relaxed 
)
inlinenoexcept

◆ exchange() [2/2]

template<typename T >
T * XrdSys::RAtomic< T * >::exchange ( T *  v,
std::memory_order  mo = std::memory_order_relaxed 
) volatile
inlinenoexcept

◆ operator T*() [1/2]

template<typename T >
XrdSys::RAtomic< T * >::operator T* ( )
inlinenoexcept

◆ operator T*() [2/2]

template<typename T >
XrdSys::RAtomic< T * >::operator T* ( ) volatile
inlinenoexcept

◆ operator++() [1/4]

template<typename T >
T * XrdSys::RAtomic< T * >::operator++ ( )
inlinenoexcept

◆ operator++() [2/4]

template<typename T >
T * XrdSys::RAtomic< T * >::operator++ ( ) volatile
inlinenoexcept

◆ operator++() [3/4]

template<typename T >
T * XrdSys::RAtomic< T * >::operator++ ( int  )
inlinenoexcept

◆ operator++() [4/4]

template<typename T >
T * XrdSys::RAtomic< T * >::operator++ ( int  ) volatile
inlinenoexcept

◆ operator+=() [1/2]

template<typename T >
T * XrdSys::RAtomic< T * >::operator+= ( ptrdiff_t  v)
inlinenoexcept

◆ operator+=() [2/2]

template<typename T >
T * XrdSys::RAtomic< T * >::operator+= ( ptrdiff_t  v) volatile
inlinenoexcept

◆ operator--() [1/4]

template<typename T >
T * XrdSys::RAtomic< T * >::operator-- ( )
inlinenoexcept

◆ operator--() [2/4]

template<typename T >
T * XrdSys::RAtomic< T * >::operator-- ( ) volatile
inlinenoexcept

◆ operator--() [3/4]

template<typename T >
T * XrdSys::RAtomic< T * >::operator-- ( int  )
inlinenoexcept

◆ operator--() [4/4]

template<typename T >
T * XrdSys::RAtomic< T * >::operator-- ( int  ) volatile
inlinenoexcept

◆ operator-=() [1/2]

template<typename T >
T * XrdSys::RAtomic< T * >::operator-= ( ptrdiff_t  v)
inlinenoexcept

◆ operator-=() [2/2]

template<typename T >
T * XrdSys::RAtomic< T * >::operator-= ( ptrdiff_t  v) volatile
inlinenoexcept

◆ operator->()

template<typename T >
T * XrdSys::RAtomic< T * >::operator-> ( )
inlinenoexcept

◆ operator=() [1/2]

template<typename T >
T * XrdSys::RAtomic< T * >::operator= ( T *  v)
inlinenoexcept

◆ operator=() [2/2]

template<typename T >
T * XrdSys::RAtomic< T * >::operator= ( T *  v) volatile
inlinenoexcept

Member Data Documentation

◆ _m

template<typename T >
std::atomic<T*> XrdSys::RAtomic< T * >::_m
private

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