libjmmcg
build_2783
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_anon_mutex > | lock_type |
typedef lock_type | read_lock_type |
typedef lock_type | write_lock_type |
typedef lock::in_process_unlockable< recursive_anon_mutex > | unlockable_type |
typedef unlockable_type | read_unlockable_type |
typedef unlockable_type | write_unlockable_type |
Public Types inherited from jmmcg::ppd::lock::lockable< lock_traits > | |
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_anon_mutex (const SECURITY_ATTRIBUTES *const sa=NULL) |
virtual __stdcall | ~recursive_anon_mutex () 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 | lock () noexcept(true) |
atomic_state_type __fastcall | unlock () noexcept(true) |
void | decay () noexcept(true) |
Public Member Functions inherited from jmmcg::ppd::lock::lockable< lock_traits > | |
virtual atomic_state_type __fastcall | try_lock () noexcept(true) FORCE_INLINE |
Static Public Attributes | |
static constexpr generic_traits::memory_access_modes | memory_access_mode =generic_traits::memory_access_modes::erew_memory_access |
Friends | |
class | recursive_mutex |
Additional Inherited Members | |
Protected Member Functions inherited from jmmcg::non_copyable | |
non_copyable ()=default | |
~non_copyable ()=default | |
non_copyable (non_copyable const &)=delete | |
non_copyable (non_copyable &&)=delete | |
void | operator= (non_copyable const &)=delete |
void | operator= (non_copyable &&)=delete |
Definition at line 87 of file NTLocking.hpp.
typedef lock::lockable<api_lock_traits<ppd::generic_traits::MS_Win32, heavyweight_threading> > jmmcg::ppd::NTUtils::recursive_anon_mutex::base_t |
Definition at line 89 of file NTLocking.hpp.
typedef lock_traits::exception_type jmmcg::ppd::NTUtils::recursive_anon_mutex::exception_type |
Definition at line 91 of file NTLocking.hpp.
Definition at line 90 of file NTLocking.hpp.
Definition at line 92 of file NTLocking.hpp.
Definition at line 93 of file NTLocking.hpp.
Definition at line 96 of file NTLocking.hpp.
typedef lock::in_process_unlockable<recursive_anon_mutex> jmmcg::ppd::NTUtils::recursive_anon_mutex::unlockable_type |
Definition at line 95 of file NTLocking.hpp.
Definition at line 94 of file NTLocking.hpp.
Definition at line 97 of file NTLocking.hpp.
|
inlineexplicit |
Definition at line 103 of file NTLocking.hpp.
|
inlinevirtualnoexcept |
Definition at line 108 of file NTLocking.hpp.
|
inlinenoexcept |
Definition at line 127 of file NTLocking.hpp.
|
inlinevirtualnoexcept |
Implements jmmcg::ppd::lock::lockable< lock_traits >.
Definition at line 121 of file NTLocking.hpp.
|
inlinevirtualnoexcept |
Implements jmmcg::ppd::lock::lockable< lock_traits >.
Definition at line 118 of file NTLocking.hpp.
|
inlinenoexcept |
Definition at line 115 of file NTLocking.hpp.
|
inlinenoexcept |
Definition at line 112 of file NTLocking.hpp.
|
inlinevirtualnoexcept |
Implements jmmcg::ppd::lock::lockable< lock_traits >.
Definition at line 124 of file NTLocking.hpp.
|
friend |
Definition at line 130 of file NTLocking.hpp.
|
staticconstexpr |
To assist in allowing compile-time computation of the algorithmic order of the threading model.
Definition at line 101 of file NTLocking.hpp.