libjmmcg  release_579_6_g8cffd
A C++ library containing an eclectic mix of useful, advanced components.
jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::NTUtils::recursive_mutex Class Reference

#include <NTLocking.hpp>

Inheritance diagram for jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::NTUtils::recursive_mutex:
[legend]
Collaboration diagram for jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::NTUtils::recursive_mutex:
[legend]

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_mutexlock_type
 
typedef lock_type read_lock_type
 
typedef lock_type write_lock_type
 
typedef lock::in_process_unlockable< recursive_mutexunlockable_type
 
typedef unlockable_type read_unlockable_type
 
typedef unlockable_type write_unlockable_type
 
- Public Types inherited from jmmcg::LIBJMMCG_VER_NAMESPACE::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_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)
 
- Public Member Functions inherited from jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::lock::lockable< lock_traits >
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
 

Detailed Description

Definition at line 89 of file NTLocking.hpp.

Member Typedef Documentation

◆ base_t

◆ exception_type

Definition at line 93 of file NTLocking.hpp.

◆ lock_traits

◆ lock_type

◆ read_lock_type

◆ read_unlockable_type

◆ unlockable_type

◆ write_lock_type

◆ write_unlockable_type

Constructor & Destructor Documentation

◆ recursive_mutex() [1/2]

__stdcall jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::NTUtils::recursive_mutex::recursive_mutex ( const tstring n = _T(""),
const SECURITY_ATTRIBUTES *const  sa = NULL 
)
inlineexplicit

Definition at line 105 of file NTLocking.hpp.

References recursive_mutex().

Referenced by recursive_mutex().

◆ recursive_mutex() [2/2]

__stdcall jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::NTUtils::recursive_mutex::recursive_mutex ( const recursive_mutex m)
inline

Definition at line 109 of file NTLocking.hpp.

References recursive_mutex().

Referenced by recursive_mutex().

◆ ~recursive_mutex()

virtual __stdcall jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::NTUtils::recursive_mutex::~recursive_mutex ( )
inlinevirtualnoexcept

Definition at line 113 of file NTLocking.hpp.

Member Function Documentation

◆ decay()

void jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::NTUtils::recursive_mutex::decay ( )
inlinenoexcept

Definition at line 142 of file NTLocking.hpp.

◆ lock() [1/3]

atomic_state_type __fastcall jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::NTUtils::recursive_mutex::lock ( )
inlinevirtualnoexcept

◆ lock() [2/3]

atomic_state_type __fastcall jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::NTUtils::recursive_mutex::lock ( const timeout_type  period)
inlinevirtualnoexcept

◆ lock() [3/3]

static const atomic_state_type __fastcall jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::NTUtils::recursive_mutex::lock ( const tstring name,
const timeout_type  period,
const SECURITY_ATTRIBUTES *const  sa = NULL 
)
inlinestatic

Definition at line 131 of file NTLocking.hpp.

◆ Name()

const tstring& __fastcall jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::NTUtils::recursive_mutex::Name ( ) const
inlinenoexcept

Definition at line 116 of file NTLocking.hpp.

◆ operator handle_type()

__fastcall jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::NTUtils::recursive_mutex::operator handle_type ( )
inlinenoexcept

Definition at line 122 of file NTLocking.hpp.

◆ SA()

const SECURITY_ATTRIBUTES* const __fastcall jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::NTUtils::recursive_mutex::SA ( ) const
inlinenoexcept

Definition at line 119 of file NTLocking.hpp.

◆ unlock() [1/2]

atomic_state_type __fastcall jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::NTUtils::recursive_mutex::unlock ( )
inlinevirtualnoexcept

◆ unlock() [2/2]

static atomic_state_type __fastcall jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::NTUtils::recursive_mutex::unlock ( const tstring name,
const SECURITY_ATTRIBUTES *const  sa = NULL 
)
inlinestatic

Definition at line 138 of file NTLocking.hpp.

Member Data Documentation

◆ memory_access_mode

constexpr generic_traits::memory_access_modes jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::NTUtils::recursive_mutex::memory_access_mode =generic_traits::memory_access_modes::erew_memory_access
staticconstexpr

To assist in allowing compile-time computation of the algorithmic order of the threading model.

Definition at line 103 of file NTLocking.hpp.


The documentation for this class was generated from the following file: