libjmmcg  build_2783
A C++ library containing an eclectic mix of useful, advanced components.
jmmcg::ppd::no_locking::anon_event Class Referencefinal

#include <thread_api_traits.hpp>

Inheritance diagram for jmmcg::ppd::no_locking::anon_event:
[legend]
Collaboration diagram for jmmcg::ppd::no_locking::anon_event:
[legend]

Public Types

typedef no_locking::lock_traits lock_traits
 
typedef lock::lockable< lock_traitsbase_t
 
typedef lock_traits::atomic_state_type atomic_state_type
 
typedef atomic_state_type lock_result_type
 
typedef lock_traits::timeout_type timeout_type
 
typedef int count_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::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::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::ppd::lock::settable< lock_traits >
using lock_traits = lock_traits
 
typedef lock_traits::atomic_state_type atomic_state_type
 

Public Member Functions

 anon_event (const atomic_state_type f=lock_traits::atom_unset) noexcept(true) FORCE_INLINE
 
 anon_event (anon_event const &)=delete
 
atomic_state_type __fastcall set (void) noexcept(true) override FORCE_INLINE
 
atomic_state_type __fastcall reset (void) noexcept(true) override FORCE_INLINE
 
lock_result_type __fastcall lock () noexcept(true) override FORCE_INLINE
 
lock_result_type __fastcall lock (const timeout_type) noexcept(true) override FORCE_INLINE
 
lock_result_type __fastcall unlock () noexcept(true) override FORCE_INLINE
 
- Public Member Functions inherited from jmmcg::ppd::lock::lockable< lock_traits >
virtual atomic_state_type __fastcall lock (const timeout_type) noexcept(false)=0
 
virtual atomic_state_type __fastcall try_lock () noexcept(true) FORCE_INLINE
 

Static Public Member Functions

static constexpr count_type __fastcall count () noexcept(true) FORCE_INLINE
 
static lock_type::atomic_t &__fastcall locker () noexcept(true) FORCE_INLINE
 

Static Public Attributes

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

Detailed Description

Definition at line 194 of file thread_api_traits.hpp.

Member Typedef Documentation

◆ atomic_state_type

◆ base_t

◆ count_type

◆ lock_result_type

◆ lock_traits

◆ lock_type

◆ read_lock_type

◆ timeout_type

◆ write_lock_type

Constructor & Destructor Documentation

◆ anon_event() [1/2]

jmmcg::ppd::no_locking::anon_event::anon_event ( const atomic_state_type  f = lock_traits::atom_unset)
inlineexplicitnoexcept

Definition at line 211 of file thread_api_traits.hpp.

◆ anon_event() [2/2]

jmmcg::ppd::no_locking::anon_event::anon_event ( anon_event const &  )
delete

Member Function Documentation

◆ count()

static constexpr count_type __fastcall jmmcg::ppd::no_locking::anon_event::count ( )
inlinestaticconstexprnoexcept

Definition at line 235 of file thread_api_traits.hpp.

◆ lock() [1/2]

lock_result_type __fastcall jmmcg::ppd::no_locking::anon_event::lock ( )
inlineoverridevirtualnoexcept

Implements jmmcg::ppd::lock::lockable< lock_traits >.

Definition at line 223 of file thread_api_traits.hpp.

◆ lock() [2/2]

lock_result_type __fastcall jmmcg::ppd::no_locking::anon_event::lock ( const  timeout_type)
inlineoverridenoexcept

Definition at line 227 of file thread_api_traits.hpp.

◆ locker()

static lock_type::atomic_t& __fastcall jmmcg::ppd::no_locking::anon_event::locker ( )
inlinestaticnoexcept

Definition at line 238 of file thread_api_traits.hpp.

◆ reset()

atomic_state_type __fastcall jmmcg::ppd::no_locking::anon_event::reset ( void  )
inlineoverridevirtualnoexcept

Implements jmmcg::ppd::lock::settable< lock_traits >.

Definition at line 219 of file thread_api_traits.hpp.

◆ set()

atomic_state_type __fastcall jmmcg::ppd::no_locking::anon_event::set ( void  )
inlineoverridevirtualnoexcept

Implements jmmcg::ppd::lock::settable< lock_traits >.

Definition at line 215 of file thread_api_traits.hpp.

◆ unlock()

lock_result_type __fastcall jmmcg::ppd::no_locking::anon_event::unlock ( )
inlineoverridevirtualnoexcept

Implements jmmcg::ppd::lock::lockable< lock_traits >.

Definition at line 231 of file thread_api_traits.hpp.

Member Data Documentation

◆ memory_access_mode

constexpr generic_traits::memory_access_modes jmmcg::ppd::no_locking::anon_event::memory_access_mode =generic_traits::memory_access_modes::crew_memory_access
staticconstexpr

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

Definition at line 209 of file thread_api_traits.hpp.


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