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

#include <posix_locking.hpp>

Inheritance diagram for jmmcg::ppd::pthreads::mutex:
[legend]
Collaboration diagram for jmmcg::ppd::pthreads::mutex:
[legend]

Public Types

typedef anon_mutex base_t
 
typedef base_t::lock_traits lock_traits
 
typedef base_t::atomic_state_type atomic_state_type
 
typedef lock_traits::exception_type exception_type
 
typedef lock::in_process< mutexlock_type
 
typedef lock_type read_lock_type
 
typedef lock_type write_lock_type
 
typedef lock::in_process_unlockable< mutexunlockable_type
 
typedef unlockable_type read_unlockable_type
 
typedef unlockable_type write_unlockable_type
 
- Public Types inherited from jmmcg::ppd::pthreads::anon_mutex
typedef lock::lockable< api_lock_traits< ppd::generic_traits::api_type::posix_pthreads, heavyweight_threading > > base_t
 
typedef base_t::lock_traits lock_traits
 
typedef base_t::atomic_state_type atomic_state_type
 
typedef lock_traits::exception_type exception_type
 
typedef lock::in_process< anon_mutexlock_type
 
typedef lock_type read_lock_type
 
typedef lock_type write_lock_type
 
typedef lock::in_process_unlockable< anon_mutexunlockable_type
 
typedef unlockable_type read_unlockable_type
 
typedef unlockable_type write_unlockable_type
 
using api_mutex_type = lock_traits::api_mutex_type
 
- Public Types inherited from jmmcg::ppd::lock::lockable< api_lock_traits< ppd::generic_traits::api_type::posix_pthreads, heavyweight_threading > >
using lock_traits = api_lock_traits< ppd::generic_traits::api_type::posix_pthreads, heavyweight_threading >
 
typedef lock_traits::atomic_state_type atomic_state_type
 
typedef lock_traits::timeout_type timeout_type
 

Public Member Functions

__stdcall FORCE_INLINE mutex () noexcept(false)
 
__stdcall ~mutex () noexcept(true) FORCE_INLINE
 
- Public Member Functions inherited from jmmcg::ppd::pthreads::anon_mutex
__stdcall anon_mutex () noexcept(false) FORCE_INLINE
 
 anon_mutex (anon_mutex const &)=delete
 
virtual __stdcall ~anon_mutex () noexcept(true) FORCE_INLINE
 
 operator api_mutex_type * () noexcept(true) FORCE_INLINE
 
atomic_state_type __fastcall lock (const timeout_type timeout) noexcept(true) override FORCE_INLINE final
 
atomic_state_type __fastcall lock () noexcept(true) override FORCE_INLINE final
 
atomic_state_type __fastcall unlock () noexcept(true) override FORCE_INLINE final
 
void decay () noexcept(true) FORCE_INLINE
 
- Public Member Functions inherited from jmmcg::ppd::lock::lockable< api_lock_traits< ppd::generic_traits::api_type::posix_pthreads, heavyweight_threading > >
virtual atomic_state_type __fastcall lock (const timeout_type) noexcept(false)=0
 
virtual atomic_state_type __fastcall try_lock () noexcept(true) FORCE_INLINE
 

Additional Inherited Members

- Static Public Attributes inherited from jmmcg::ppd::pthreads::anon_mutex
static constexpr generic_traits::memory_access_modes memory_access_mode =generic_traits::memory_access_modes::erew_memory_access
 
- Protected Member Functions inherited from jmmcg::ppd::pthreads::anon_mutex
__stdcall anon_mutex (const int shared, const int err_chk=PTHREAD_MUTEX_ERRORCHECK) noexcept(false) FORCE_INLINE
 

Detailed Description

Definition at line 166 of file posix_locking.hpp.

Member Typedef Documentation

◆ atomic_state_type

◆ base_t

◆ exception_type

typedef lock_traits::exception_type jmmcg::ppd::pthreads::mutex::exception_type

Definition at line 171 of file posix_locking.hpp.

◆ lock_traits

◆ lock_type

◆ read_lock_type

◆ read_unlockable_type

◆ unlockable_type

◆ write_lock_type

◆ write_unlockable_type

Constructor & Destructor Documentation

◆ mutex()

__stdcall FORCE_INLINE jmmcg::ppd::pthreads::mutex::mutex ( )
inlinenoexcept

Definition at line 179 of file posix_locking.hpp.

◆ ~mutex()

__stdcall jmmcg::ppd::pthreads::mutex::~mutex ( )
inlinenoexcept

Definition at line 182 of file posix_locking.hpp.


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