#include <XrdSysRAtomic.hh>
|
| RAtomic () |
|
| RAtomic (T v) |
|
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 |
|
T | fetch_and (T v) noexcept |
|
T | fetch_or (T v) noexcept |
|
T | fetch_xor (T v) noexcept |
|
| operator T () noexcept |
|
| operator T () volatile noexcept |
|
T | operator&= (T v) noexcept |
|
T | operator&= (T v) volatile noexcept |
|
T | operator++ () noexcept |
|
T | operator++ () volatile noexcept |
|
T | operator++ (int) noexcept |
|
T | operator++ (int) volatile noexcept |
|
T | operator+= (T v) noexcept |
|
T | operator+= (T v) volatile noexcept |
|
T | operator-- () noexcept |
|
T | operator-- () volatile noexcept |
|
T | operator-- (int) noexcept |
|
T | operator-- (int) volatile noexcept |
|
T | operator-= (T v) noexcept |
|
T | operator-= (T v) volatile noexcept |
|
T | operator= (T v) noexcept |
|
T | operator= (T v) volatile noexcept |
|
T | operator^= (T v) noexcept |
|
T | operator^= (T v) volatile noexcept |
|
T | operator|= (T v) noexcept |
|
T | operator|= (T v) volatile noexcept |
|
template<typename T>
class XrdSys::RAtomic< T >
Definition at line 25 of file XrdSysRAtomic.hh.
◆ RAtomic() [1/2]
◆ RAtomic() [2/2]
◆ 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 |
Definition at line 114 of file XrdSysRAtomic.hh.
118 {
return _m.compare_exchange_strong(v1, v2, mo1, mo2);}
◆ 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 |
Definition at line 120 of file XrdSysRAtomic.hh.
124 {
return _m.compare_exchange_strong(v1, v2, mo1, mo2);}
◆ 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 |
Definition at line 126 of file XrdSysRAtomic.hh.
130 {
return _m.compare_exchange_weak(v1, v2, mo1, mo2);}
◆ 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 |
Definition at line 132 of file XrdSysRAtomic.hh.
136 {
return _m.compare_exchange_weak(v1, v2, mo1, mo2);}
◆ 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 |
◆ fetch_and()
Definition at line 103 of file XrdSysRAtomic.hh.
104 {
return _m.fetch_and(v, std::memory_order_relaxed);}
◆ fetch_or()
◆ fetch_xor()
Definition at line 109 of file XrdSysRAtomic.hh.
110 {
return _m.fetch_xor(v, std::memory_order_relaxed);}
◆ operator T() [1/2]
Definition at line 37 of file XrdSysRAtomic.hh.
38 {
return _m.load(std::memory_order_relaxed);}
◆ operator T() [2/2]
Definition at line 40 of file XrdSysRAtomic.hh.
41 {
return _m.load(std::memory_order_relaxed);}
◆ operator&=() [1/2]
Definition at line 83 of file XrdSysRAtomic.hh.
84 {
return _m.fetch_and(v, std::memory_order_relaxed) & v;}
◆ operator&=() [2/2]
Definition at line 86 of file XrdSysRAtomic.hh.
87 {
return _m.fetch_and(v, std::memory_order_relaxed) & v;}
◆ operator++() [1/4]
Definition at line 59 of file XrdSysRAtomic.hh.
60 {
return _m.fetch_add(1, std::memory_order_relaxed)+1;}
◆ operator++() [2/4]
Definition at line 62 of file XrdSysRAtomic.hh.
63 {
return _m.fetch_add(1, std::memory_order_relaxed)+1;}
◆ operator++() [3/4]
Definition at line 45 of file XrdSysRAtomic.hh.
46 {
return _m.fetch_add(1, std::memory_order_relaxed);}
◆ operator++() [4/4]
Definition at line 48 of file XrdSysRAtomic.hh.
49 {
return _m.fetch_add(1, std::memory_order_relaxed);}
◆ operator+=() [1/2]
Definition at line 71 of file XrdSysRAtomic.hh.
72 {
return _m.fetch_add(v, std::memory_order_relaxed)+v;}
◆ operator+=() [2/2]
Definition at line 74 of file XrdSysRAtomic.hh.
75 {
return _m.fetch_add(v, std::memory_order_relaxed)+v;}
◆ operator--() [1/4]
Definition at line 65 of file XrdSysRAtomic.hh.
66 {
return _m.fetch_sub(1, std::memory_order_relaxed)-1;}
◆ operator--() [2/4]
Definition at line 68 of file XrdSysRAtomic.hh.
69 {
return _m.fetch_sub(1, std::memory_order_relaxed)-1;}
◆ operator--() [3/4]
Definition at line 51 of file XrdSysRAtomic.hh.
52 {
return _m.fetch_sub(1, std::memory_order_relaxed);}
◆ operator--() [4/4]
Definition at line 54 of file XrdSysRAtomic.hh.
55 {
return _m.fetch_sub(1, std::memory_order_relaxed);}
◆ operator-=() [1/2]
Definition at line 77 of file XrdSysRAtomic.hh.
78 {
return _m.fetch_sub(v, std::memory_order_relaxed)-v;}
◆ operator-=() [2/2]
Definition at line 80 of file XrdSysRAtomic.hh.
81 {
return _m.fetch_sub(v, std::memory_order_relaxed)-v;}
◆ operator=() [1/2]
Definition at line 31 of file XrdSysRAtomic.hh.
32 {_m.store(v, std::memory_order_relaxed);
return v;}
◆ operator=() [2/2]
Definition at line 34 of file XrdSysRAtomic.hh.
35 {_m.store(v, std::memory_order_relaxed);
return v;}
◆ operator^=() [1/2]
Definition at line 95 of file XrdSysRAtomic.hh.
96 {
return _m.fetch_xor(v, std::memory_order_relaxed) ^ v;}
◆ operator^=() [2/2]
Definition at line 98 of file XrdSysRAtomic.hh.
99 {
return _m.fetch_xor(v, std::memory_order_relaxed) ^ v;}
◆ operator|=() [1/2]
Definition at line 89 of file XrdSysRAtomic.hh.
90 {
return _m.fetch_or (v, std::memory_order_relaxed) | v;}
◆ operator|=() [2/2]
Definition at line 92 of file XrdSysRAtomic.hh.
93 {
return _m.fetch_or (v, std::memory_order_relaxed) | v;}
The documentation for this class was generated from the following file: