XRootD
XrdSys::RAtomic< bool > Class Reference

#include <XrdSysRAtomic.hh>

+ Collaboration diagram for XrdSys::RAtomic< bool >:

Public Member Functions

 RAtomic ()
 
 RAtomic (bool v)
 
bool compare_exchange_strong (bool &v1, bool v2, std::memory_order mo1=std::memory_order_relaxed, std::memory_order mo2=std::memory_order_relaxed) noexcept
 
bool compare_exchange_strong (bool &v1, bool v2, std::memory_order mo1=std::memory_order_relaxed, std::memory_order mo2=std::memory_order_relaxed) volatile noexcept
 
bool compare_exchange_weak (bool &v1, bool v2, std::memory_order mo1=std::memory_order_relaxed, std::memory_order mo2=std::memory_order_relaxed) noexcept
 
bool compare_exchange_weak (bool &v1, bool v2, std::memory_order mo1=std::memory_order_relaxed, std::memory_order mo2=std::memory_order_relaxed) volatile noexcept
 
bool exchange (bool v, std::memory_order mo=std::memory_order_relaxed) noexcept
 
bool exchange (bool v, std::memory_order mo=std::memory_order_relaxed) volatile noexcept
 
bool load ()
 
 operator bool () noexcept
 
 operator bool () volatile noexcept
 
bool operator= (bool v) noexcept
 
bool operator= (bool v) volatile noexcept
 

Detailed Description

Definition at line 259 of file XrdSysRAtomic.hh.

Constructor & Destructor Documentation

◆ RAtomic() [1/2]

XrdSys::RAtomic< bool >::RAtomic ( )
inline

Definition at line 311 of file XrdSysRAtomic.hh.

311 {}

◆ RAtomic() [2/2]

XrdSys::RAtomic< bool >::RAtomic ( bool  v)
inline

Definition at line 313 of file XrdSysRAtomic.hh.

313 : _m(v) {}

Member Function Documentation

◆ compare_exchange_strong() [1/2]

bool XrdSys::RAtomic< bool >::compare_exchange_strong ( bool &  v1,
bool  v2,
std::memory_order  mo1 = std::memory_order_relaxed,
std::memory_order  mo2 = std::memory_order_relaxed 
)
inlinenoexcept

Definition at line 279 of file XrdSysRAtomic.hh.

283  {return _m.compare_exchange_strong(v1, v2, mo1, mo2);}

◆ compare_exchange_strong() [2/2]

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

Definition at line 285 of file XrdSysRAtomic.hh.

289  {return _m.compare_exchange_strong(v1, v2, mo1, mo2);}

◆ compare_exchange_weak() [1/2]

bool XrdSys::RAtomic< bool >::compare_exchange_weak ( bool &  v1,
bool  v2,
std::memory_order  mo1 = std::memory_order_relaxed,
std::memory_order  mo2 = std::memory_order_relaxed 
)
inlinenoexcept

Definition at line 291 of file XrdSysRAtomic.hh.

295  {return _m.compare_exchange_weak(v1, v2, mo1, mo2);}

◆ compare_exchange_weak() [2/2]

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

Definition at line 297 of file XrdSysRAtomic.hh.

301  {return _m.compare_exchange_weak(v1, v2, mo1, mo2);}

◆ exchange() [1/2]

bool XrdSys::RAtomic< bool >::exchange ( bool  v,
std::memory_order  mo = std::memory_order_relaxed 
)
inlinenoexcept

Definition at line 303 of file XrdSysRAtomic.hh.

304  {return _m.exchange(v, mo);}

Referenced by XrdOssArcStopMon::Activate(), and XrdOssArcStopMon::Deactivate().

+ Here is the caller graph for this function:

◆ exchange() [2/2]

bool XrdSys::RAtomic< bool >::exchange ( bool  v,
std::memory_order  mo = std::memory_order_relaxed 
) volatile
inlinenoexcept

Definition at line 306 of file XrdSysRAtomic.hh.

307  {return _m.exchange(v, mo);}

◆ load()

bool XrdSys::RAtomic< bool >::load ( )
inline

Definition at line 309 of file XrdSysRAtomic.hh.

309 {return _m.load(std::memory_order_relaxed);}

◆ operator bool() [1/2]

XrdSys::RAtomic< bool >::operator bool ( )
inlinenoexcept

Definition at line 271 of file XrdSysRAtomic.hh.

272  {return _m.load(std::memory_order_relaxed);}

◆ operator bool() [2/2]

XrdSys::RAtomic< bool >::operator bool ( ) volatile
inlinenoexcept

Definition at line 274 of file XrdSysRAtomic.hh.

275  {return _m.load(std::memory_order_relaxed);}

◆ operator=() [1/2]

bool XrdSys::RAtomic< bool >::operator= ( bool  v)
inlinenoexcept

Definition at line 265 of file XrdSysRAtomic.hh.

266  {_m.store(v, std::memory_order_relaxed); return v;}

◆ operator=() [2/2]

bool XrdSys::RAtomic< bool >::operator= ( bool  v) volatile
inlinenoexcept

Definition at line 268 of file XrdSysRAtomic.hh.

269  {_m.store(v, std::memory_order_relaxed); return v;}

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