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

#include <NTLocking.hpp>

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

Public Types

typedef lock::lockable_settable< api_lock_traits< ppd::generic_traits::MS_Win32, heavyweight_threading > > base_t
 
typedef base_t::lock_traits lock_traits
 
typedef int count_type
 
typedef lock_traits::exception_type exception_type
 
typedef base_t::atomic_state_type atomic_state_type
 
typedef atomic_state_type lock_result_type
 
typedef lock::in_process< anon_eventlock_type
 
typedef lock_type read_lock_type
 
typedef lock_type write_lock_type
 
- Public Types inherited from jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::lock::lockable_settable< lock_traits >
using lock_traits = lock_traits
 
typedef lock_traits::atomic_state_type atomic_state_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 Types inherited from jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::lock::settable< LkT >
using lock_traits = LkT
 
typedef lock_traits::atomic_state_type atomic_state_type
 

Public Member Functions

__stdcall event (const atomic_state_type s=atom_set, const tstring &n=_T(""), const SECURITY_ATTRIBUTES *const sa=NULL)
 
__stdcall event (const event &ev)
 
virtual __stdcall ~event () 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 set () noexcept(true)
 
atomic_state_type __fastcall reset () noexcept(true)
 
lock_result_type __fastcall lock () noexcept(true)
 
lock_result_type __fastcall lock (const timeout_type period) noexcept(true)
 
lock_result_type __fastcall unlock () 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 atomic_state_type __fastcall set (const tstring &name, const SECURITY_ATTRIBUTES *const sa=NULL)
 
static atomic_state_type __fastcall reset (const tstring &name, const SECURITY_ATTRIBUTES *const sa=NULL)
 
static lock_result_type __fastcall lock (const tstring &name, const timeout_type period, const SECURITY_ATTRIBUTES *const sa=NULL)
 
static lock_result_type __fastcall unlock (const tstring &name, const SECURITY_ATTRIBUTES *const sa) noexcept(true)
 

Additional Inherited Members

- Static Public Attributes inherited from jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::lock::lockable_settable< lock_traits >
static constexpr generic_traits::memory_access_modes memory_access_mode
 

Detailed Description

Definition at line 209 of file NTLocking.hpp.

Member Typedef Documentation

◆ atomic_state_type

◆ base_t

◆ count_type

◆ exception_type

Definition at line 214 of file NTLocking.hpp.

◆ lock_result_type

◆ lock_traits

◆ lock_type

◆ read_lock_type

◆ write_lock_type

Constructor & Destructor Documentation

◆ event() [1/2]

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

Manual reset and initially signalled.

Definition at line 224 of file NTLocking.hpp.

References event().

Referenced by event().

◆ event() [2/2]

__stdcall jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::NTUtils::event::event ( const event ev)
inline

Definition at line 229 of file NTLocking.hpp.

References event().

Referenced by event().

◆ ~event()

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

Definition at line 234 of file NTLocking.hpp.

Member Function Documentation

◆ decay()

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

Definition at line 276 of file NTLocking.hpp.

◆ lock() [1/3]

lock_result_type __fastcall jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::NTUtils::event::lock ( )
inlinevirtualnoexcept

◆ lock() [2/3]

lock_result_type __fastcall jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::NTUtils::event::lock ( const timeout_type  period)
inlinevirtualnoexcept

◆ lock() [3/3]

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

Definition at line 268 of file NTLocking.hpp.

◆ Name()

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

Definition at line 237 of file NTLocking.hpp.

◆ operator handle_type()

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

Definition at line 243 of file NTLocking.hpp.

◆ reset() [1/2]

atomic_state_type __fastcall jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::NTUtils::event::reset ( void  )
inlinevirtualnoexcept

◆ reset() [2/2]

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

Definition at line 256 of file NTLocking.hpp.

◆ SA()

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

Definition at line 240 of file NTLocking.hpp.

◆ set() [1/2]

atomic_state_type __fastcall jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::NTUtils::event::set ( void  )
inlinevirtualnoexcept

◆ set() [2/2]

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

Definition at line 252 of file NTLocking.hpp.

◆ unlock() [1/2]

lock_result_type __fastcall jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::NTUtils::event::unlock ( )
inlinevirtualnoexcept

◆ unlock() [2/2]

static lock_result_type __fastcall jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::NTUtils::event::unlock ( const tstring name,
const SECURITY_ATTRIBUTES *const  sa 
)
inlinestaticnoexcept

Definition at line 272 of file NTLocking.hpp.


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