libjmmcg
release_579_6_g8cffd
A C++ library containing an eclectic mix of useful, advanced components.
|
#include <NTLocking.hpp>
Public Types | |
typedef lock::lockable< api_lock_traits< ppd::generic_traits::MS_Win32, heavyweight_threading > > | base_t |
typedef base_t::lock_traits | lock_traits |
typedef lock_traits::exception_type | exception_type |
typedef lock::in_process< recursive_mutex > | lock_type |
typedef lock_type | read_lock_type |
typedef lock_type | write_lock_type |
typedef lock::in_process_unlockable< recursive_mutex > | unlockable_type |
typedef unlockable_type | read_unlockable_type |
typedef unlockable_type | write_unlockable_type |
![]() | |
using | lock_traits = lock_traits |
typedef lock_traits::atomic_state_type | atomic_state_type |
typedef lock_traits::timeout_type | timeout_type |
Public Member Functions | |
__stdcall | recursive_mutex (const tstring &n=_T(""), const SECURITY_ATTRIBUTES *const sa=NULL) |
__stdcall | recursive_mutex (const recursive_mutex &m) |
virtual __stdcall | ~recursive_mutex () noexcept(true) |
const tstring &__fastcall | Name () const noexcept(true) |
const SECURITY_ATTRIBUTES *const __fastcall | SA () const noexcept(true) |
__fastcall | operator handle_type () noexcept(true) |
atomic_state_type __fastcall | lock (const timeout_type period) noexcept(true) |
atomic_state_type __fastcall | unlock () noexcept(true) |
atomic_state_type __fastcall | lock () noexcept(true) |
void | decay () noexcept(true) |
![]() | |
virtual atomic_state_type __fastcall | try_lock () noexcept(true) FORCE_INLINE |
Static Public Member Functions | |
static const atomic_state_type __fastcall | lock (const tstring &name, const timeout_type period, const SECURITY_ATTRIBUTES *const sa=NULL) |
static atomic_state_type __fastcall | unlock (const tstring &name, const SECURITY_ATTRIBUTES *const sa=NULL) |
Static Public Attributes | |
static constexpr generic_traits::memory_access_modes | memory_access_mode =generic_traits::memory_access_modes::erew_memory_access |
Definition at line 89 of file NTLocking.hpp.
typedef lock::lockable<api_lock_traits<ppd::generic_traits::MS_Win32, heavyweight_threading> > jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::NTUtils::recursive_mutex::base_t |
Definition at line 91 of file NTLocking.hpp.
typedef lock_traits::exception_type jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::NTUtils::recursive_mutex::exception_type |
Definition at line 93 of file NTLocking.hpp.
typedef base_t::lock_traits jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::NTUtils::recursive_mutex::lock_traits |
Definition at line 92 of file NTLocking.hpp.
typedef lock::in_process<recursive_mutex> jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::NTUtils::recursive_mutex::lock_type |
Definition at line 94 of file NTLocking.hpp.
Definition at line 95 of file NTLocking.hpp.
typedef unlockable_type jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::NTUtils::recursive_mutex::read_unlockable_type |
Definition at line 98 of file NTLocking.hpp.
typedef lock::in_process_unlockable<recursive_mutex> jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::NTUtils::recursive_mutex::unlockable_type |
Definition at line 97 of file NTLocking.hpp.
Definition at line 96 of file NTLocking.hpp.
typedef unlockable_type jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::NTUtils::recursive_mutex::write_unlockable_type |
Definition at line 99 of file NTLocking.hpp.
|
inlineexplicit |
Definition at line 105 of file NTLocking.hpp.
References recursive_mutex().
Referenced by recursive_mutex().
|
inline |
Definition at line 109 of file NTLocking.hpp.
References recursive_mutex().
Referenced by recursive_mutex().
|
inlinevirtualnoexcept |
Definition at line 113 of file NTLocking.hpp.
|
inlinenoexcept |
Definition at line 142 of file NTLocking.hpp.
|
inlinevirtualnoexcept |
Implements jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::lock::lockable< lock_traits >.
Definition at line 135 of file NTLocking.hpp.
|
inlinevirtualnoexcept |
Implements jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::lock::lockable< lock_traits >.
Definition at line 125 of file NTLocking.hpp.
|
inlinestatic |
Definition at line 131 of file NTLocking.hpp.
|
inlinenoexcept |
Definition at line 116 of file NTLocking.hpp.
|
inlinenoexcept |
Definition at line 122 of file NTLocking.hpp.
|
inlinenoexcept |
Definition at line 119 of file NTLocking.hpp.
|
inlinevirtualnoexcept |
Implements jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::lock::lockable< lock_traits >.
Definition at line 128 of file NTLocking.hpp.
|
inlinestatic |
Definition at line 138 of file NTLocking.hpp.
|
staticconstexpr |
To assist in allowing compile-time computation of the algorithmic order of the threading model.
Definition at line 103 of file NTLocking.hpp.