#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 |
|
| operator T* () noexcept |
|
| operator T* () volatile noexcept |
|
T * | operator++ () noexcept |
|
T * | operator++ () volatile noexcept |
|
T * | operator++ (int) noexcept |
|
T * | operator++ (int) volatile noexcept |
|
T * | operator+= (ptrdiff_t v) noexcept |
|
T * | operator+= (ptrdiff_t v) volatile noexcept |
|
T * | operator-- () noexcept |
|
T * | operator-- () volatile noexcept |
|
T * | operator-- (int) noexcept |
|
T * | operator-- (int) volatile noexcept |
|
T * | operator-= (ptrdiff_t v) noexcept |
|
T * | operator-= (ptrdiff_t v) volatile noexcept |
|
T * | operator-> () noexcept |
|
T * | operator= (T *v) noexcept |
|
T * | operator= (T *v) volatile noexcept |
|
template<typename T>
class XrdSys::RAtomic< T * >
Definition at line 154 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 217 of file XrdSysRAtomic.hh.
221 {
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 223 of file XrdSysRAtomic.hh.
227 {
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 229 of file XrdSysRAtomic.hh.
233 {
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 235 of file XrdSysRAtomic.hh.
239 {
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 |
◆ operator T*() [1/2]
Definition at line 166 of file XrdSysRAtomic.hh.
167 {
return _m.load(std::memory_order_relaxed);}
◆ operator T*() [2/2]
Definition at line 169 of file XrdSysRAtomic.hh.
170 {
return _m.load(std::memory_order_relaxed);}
◆ operator++() [1/4]
Definition at line 191 of file XrdSysRAtomic.hh.
192 {
return _m.fetch_add(1, std::memory_order_relaxed)+1;}
◆ operator++() [2/4]
Definition at line 194 of file XrdSysRAtomic.hh.
195 {
return _m.fetch_add(1, std::memory_order_relaxed)+1;}
◆ operator++() [3/4]
Definition at line 177 of file XrdSysRAtomic.hh.
178 {
return _m.fetch_add(1, std::memory_order_relaxed);}
◆ operator++() [4/4]
Definition at line 180 of file XrdSysRAtomic.hh.
181 {
return _m.fetch_add(1, std::memory_order_relaxed);}
◆ operator+=() [1/2]
Definition at line 203 of file XrdSysRAtomic.hh.
204 {
return _m.fetch_add(v, std::memory_order_relaxed)+v;}
◆ operator+=() [2/2]
Definition at line 206 of file XrdSysRAtomic.hh.
207 {
return _m.fetch_add(v, std::memory_order_relaxed)+v;}
◆ operator--() [1/4]
Definition at line 197 of file XrdSysRAtomic.hh.
198 {
return _m.fetch_sub(1, std::memory_order_relaxed)-1;}
◆ operator--() [2/4]
Definition at line 200 of file XrdSysRAtomic.hh.
201 {
return _m.fetch_sub(1, std::memory_order_relaxed)-1;}
◆ operator--() [3/4]
Definition at line 183 of file XrdSysRAtomic.hh.
184 {
return _m.fetch_sub(1, std::memory_order_relaxed);}
◆ operator--() [4/4]
Definition at line 186 of file XrdSysRAtomic.hh.
187 {
return _m.fetch_sub(1, std::memory_order_relaxed);}
◆ operator-=() [1/2]
Definition at line 209 of file XrdSysRAtomic.hh.
210 {
return _m.fetch_sub(v, std::memory_order_relaxed)-v;}
◆ operator-=() [2/2]
Definition at line 212 of file XrdSysRAtomic.hh.
213 {
return _m.fetch_sub(v, std::memory_order_relaxed)-v;}
◆ operator->()
Definition at line 172 of file XrdSysRAtomic.hh.
173 {
return _m.load(std::memory_order_relaxed);}
◆ operator=() [1/2]
Definition at line 160 of file XrdSysRAtomic.hh.
161 {_m.store(v, std::memory_order_relaxed);
return v;}
◆ operator=() [2/2]
Definition at line 163 of file XrdSysRAtomic.hh.
164 {_m.store(v, std::memory_order_relaxed);
return v;}
The documentation for this class was generated from the following file: