#include <swcdb/core/MutexAtomic.h>
Classes | |
class | scope |
Public Member Functions | |
constexpr SWC_CAN_INLINE | MutexAtomic () noexcept |
MutexAtomic (const MutexAtomic &)=delete | |
MutexAtomic (MutexAtomic &&)=delete | |
MutexAtomic & | operator= (const MutexAtomic &)=delete |
MutexAtomic & | operator= (MutexAtomic &&)=delete |
~MutexAtomic () noexcept | |
SWC_CAN_INLINE bool | try_lock () const noexcept |
SWC_CAN_INLINE void | lock () const noexcept |
void | lock (const uint32_t &us_sleep) const noexcept |
SWC_CAN_INLINE void | unlock () const noexcept |
Private Attributes | |
std::atomic_flag | want |
Definition at line 17 of file MutexAtomic.h.
|
inlineexplicitconstexprnoexcept |
Definition at line 21 of file MutexAtomic.h.
|
delete |
|
delete |
|
inlinenoexcept |
Definition at line 28 of file MutexAtomic.h.
|
inlinenoexcept |
Definition at line 40 of file MutexAtomic.h.
References want.
Referenced by SWC::Core::QueuePointer< SWC::Ranger::Callback::RangeQueryUpdate * >::empty(), SWC::Core::QueuePointer< SWC::Ranger::Callback::RangeQueryUpdate * >::front(), SWC::Core::MutexSptd::lock(), SWC::Core::MutexSptd::lock_except(), SWC::Core::QueuePointer< SWC::Ranger::Callback::RangeQueryUpdate * >::next(), SWC::Core::QueuePointer< SWC::Ranger::Callback::RangeQueryUpdate * >::pop(), SWC::Core::QueuePointer< SWC::Ranger::Callback::RangeQueryUpdate * >::pop_and_more(), SWC::Core::QueuePointer< SWC::Ranger::Callback::RangeQueryUpdate * >::push(), SWC::Core::QueuePointer< SWC::Ranger::Callback::RangeQueryUpdate * >::push_and_is_1st(), SWC::FS::Statistics::Metric::reset(), and SWC::Core::MutexAtomic::scope::scope().
|
inlinenoexcept |
Definition at line 55 of file MutexAtomic.h.
References want.
|
delete |
|
delete |
|
inlinenoexcept |
Definition at line 31 of file MutexAtomic.h.
References want.
Referenced by SWC::Core::MutexSptd::lock(), SWC::Core::MutexSptd::lock_except(), and SWC::Core::MutexSptd::try_full_lock().
|
inlinenoexcept |
Definition at line 72 of file MutexAtomic.h.
References want.
Referenced by SWC::Core::QueuePointer< SWC::Ranger::Callback::RangeQueryUpdate * >::empty(), SWC::Core::QueuePointer< SWC::Ranger::Callback::RangeQueryUpdate * >::front(), SWC::Core::QueuePointer< SWC::Ranger::Callback::RangeQueryUpdate * >::next(), SWC::Core::QueuePointer< SWC::Ranger::Callback::RangeQueryUpdate * >::pop(), SWC::Core::QueuePointer< SWC::Ranger::Callback::RangeQueryUpdate * >::pop_and_more(), SWC::Core::QueuePointer< SWC::Ranger::Callback::RangeQueryUpdate * >::push(), SWC::Core::QueuePointer< SWC::Ranger::Callback::RangeQueryUpdate * >::push_and_is_1st(), SWC::FS::Statistics::Metric::reset(), SWC::Core::MutexSptd::unlock(), and SWC::Core::MutexAtomic::scope::~scope().
|
mutableprivate |
Definition at line 97 of file MutexAtomic.h.
Referenced by lock(), try_lock(), and unlock().