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
 
 operator bool () noexcept
 
 operator bool () volatile noexcept
 
bool operator= (bool v) noexcept
 
bool operator= (bool v) volatile noexcept
 

Detailed Description

Definition at line 257 of file XrdSysRAtomic.hh.

Constructor & Destructor Documentation

◆ RAtomic() [1/2]

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

Definition at line 307 of file XrdSysRAtomic.hh.

307 {}

◆ RAtomic() [2/2]

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

Definition at line 309 of file XrdSysRAtomic.hh.

309 : _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 277 of file XrdSysRAtomic.hh.

281  {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 283 of file XrdSysRAtomic.hh.

287  {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 289 of file XrdSysRAtomic.hh.

293  {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 295 of file XrdSysRAtomic.hh.

299  {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 301 of file XrdSysRAtomic.hh.

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

◆ exchange() [2/2]

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

Definition at line 304 of file XrdSysRAtomic.hh.

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

◆ operator bool() [1/2]

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

Definition at line 269 of file XrdSysRAtomic.hh.

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

◆ operator bool() [2/2]

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

Definition at line 272 of file XrdSysRAtomic.hh.

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

◆ operator=() [1/2]

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

Definition at line 263 of file XrdSysRAtomic.hh.

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

◆ operator=() [2/2]

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

Definition at line 266 of file XrdSysRAtomic.hh.

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

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