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 279 of file XrdSysRAtomic.hh.

Constructor & Destructor Documentation

◆ RAtomic() [1/2]

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

Definition at line 329 of file XrdSysRAtomic.hh.

329 {}

◆ RAtomic() [2/2]

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

Definition at line 331 of file XrdSysRAtomic.hh.

331 : _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 299 of file XrdSysRAtomic.hh.

303  {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 305 of file XrdSysRAtomic.hh.

309  {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 311 of file XrdSysRAtomic.hh.

315  {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 317 of file XrdSysRAtomic.hh.

321  {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 323 of file XrdSysRAtomic.hh.

324  {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 326 of file XrdSysRAtomic.hh.

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

◆ operator bool() [1/2]

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

Definition at line 291 of file XrdSysRAtomic.hh.

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

◆ operator bool() [2/2]

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

Definition at line 294 of file XrdSysRAtomic.hh.

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

◆ operator=() [1/2]

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

Definition at line 285 of file XrdSysRAtomic.hh.

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

◆ operator=() [2/2]

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

Definition at line 288 of file XrdSysRAtomic.hh.

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

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