libjmmcg
release_579_6_g8cffd
A C++ library containing an eclectic mix of useful, advanced components.
|
#include <locking.hpp>
Public Types | |
typedef lockable< typename LockObject::lock_traits > | base_t |
typedef LockObject | atomic_t |
typedef atomic_t::lock_traits | lock_traits |
typedef lock_traits::atomic_state_type | atomic_state_type |
typedef lock_traits::timeout_type | timeout_type |
typedef atomic_state_type | lock_result_type |
![]() | |
using | lock_traits = LockObject::lock_traits |
typedef lock_traits::atomic_state_type | atomic_state_type |
typedef lock_traits::timeout_type | timeout_type |
Static Public Attributes | |
static constexpr generic_traits::memory_access_modes | memory_access_mode =atomic_t::memory_access_mode |
Protected Member Functions | |
__stdcall | scope_lock (atomic_t &lo) noexcept(true) FORCE_INLINE |
__stdcall | scope_lock (atomic_t &lo, const timeout_type period) noexcept(true) FORCE_INLINE |
scope_lock (scope_lock const &)=delete | |
virtual __stdcall | ~scope_lock () noexcept(true) FORCE_INLINE |
lock_result_type __fastcall | try_lock () noexcept(true) override FORCE_INLINE |
lock_result_type __fastcall | lock () noexcept(false) override FORCE_INLINE |
lock_result_type __fastcall | lock (const timeout_type period) noexcept(false) override FORCE_INLINE |
lock_result_type __fastcall | unlock () noexcept(true) override FORCE_INLINE |
void | decay () noexcept(true) FORCE_INLINE |
Protected Attributes | |
atomic_t & | locker |
Additional Inherited Members |
Definition at line 86 of file locking.hpp.
typedef lock_traits::atomic_state_type jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::lock::scope_lock< LockObject >::atomic_state_type |
Definition at line 91 of file locking.hpp.
typedef LockObject jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::lock::scope_lock< LockObject >::atomic_t |
Definition at line 89 of file locking.hpp.
typedef lockable<typename LockObject::lock_traits> jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::lock::scope_lock< LockObject >::base_t |
Definition at line 88 of file locking.hpp.
typedef atomic_state_type jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::lock::scope_lock< LockObject >::lock_result_type |
Definition at line 93 of file locking.hpp.
typedef atomic_t::lock_traits jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::lock::scope_lock< LockObject >::lock_traits |
Definition at line 90 of file locking.hpp.
typedef lock_traits::timeout_type jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::lock::scope_lock< LockObject >::timeout_type |
Definition at line 92 of file locking.hpp.
|
inlineexplicitprotectednoexcept |
Definition at line 50 of file locking_impl.hpp.
References jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::lock::scope_lock< LockObject >::locker.
|
inlineprotectednoexcept |
Definition at line 79 of file locking_impl.hpp.
References jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::lock::scope_lock< LockObject >::locker.
|
protecteddelete |
|
inlineprotectedvirtualnoexcept |
Definition at line 86 of file locking_impl.hpp.
References jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::lock::scope_lock< LockObject >::unlock().
|
inlineprotectednoexcept |
Definition at line 91 of file locking_impl.hpp.
References jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::lock::scope_lock< LockObject >::locker.
|
inlineoverrideprotectedvirtualnoexcept |
Implements jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::lock::lockable< LockObject::lock_traits >.
Reimplemented in jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::lock::in_process< LockObject >.
Definition at line 61 of file locking_impl.hpp.
References jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::lock::scope_lock< LockObject >::locker.
|
inlineoverrideprotectedvirtualnoexcept |
Implements jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::lock::lockable< LockObject::lock_traits >.
Reimplemented in jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::lock::in_process< LockObject >.
Definition at line 67 of file locking_impl.hpp.
References jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::lock::scope_lock< LockObject >::locker.
|
inlineoverrideprotectedvirtualnoexcept |
Reimplemented from jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::lock::lockable< LockObject::lock_traits >.
Reimplemented in jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::lock::in_process< LockObject >.
Definition at line 55 of file locking_impl.hpp.
References jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::lock::scope_lock< LockObject >::locker.
|
inlineoverrideprotectedvirtualnoexcept |
Implements jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::lock::lockable< LockObject::lock_traits >.
Reimplemented in jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::lock::in_process< LockObject >.
Definition at line 73 of file locking_impl.hpp.
References jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::lock::scope_lock< LockObject >::locker.
Referenced by jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::lock::scope_lock< LockObject >::~scope_lock().
|
protected |
Definition at line 114 of file locking.hpp.
Referenced by jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::lock::scope_lock< LockObject >::decay(), jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::lock::scope_lock< LockObject >::lock(), jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::lock::scope_lock< LockObject >::scope_lock(), jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::lock::scope_lock< LockObject >::try_lock(), and jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::lock::scope_lock< LockObject >::unlock().
|
staticconstexpr |
To assist in allowing compile-time computation of the algorithmic order of the threading model.
Definition at line 98 of file locking.hpp.