libjmmcg  release_579_6_g8cffd
A C++ library containing an eclectic mix of useful, advanced components.
jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::lock::lockable< LkT > Struct Template Referenceabstract

#include <locking.hpp>

Inheritance diagram for jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::lock::lockable< LkT >:
[legend]

Public Types

using lock_traits = LkT
 
typedef lock_traits::atomic_state_type atomic_state_type
 
typedef lock_traits::timeout_type timeout_type
 

Public Member Functions

virtual atomic_state_type __fastcall lock () noexcept(false)=0
 
virtual atomic_state_type __fastcall lock (const timeout_type) noexcept(false)=0
 
virtual atomic_state_type __fastcall try_lock () noexcept(true) FORCE_INLINE
 
virtual atomic_state_type __fastcall unlock () noexcept(true)=0
 

Detailed Description

template<class LkT>
struct jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::lock::lockable< LkT >

Definition at line 32 of file locking.hpp.

Member Typedef Documentation

◆ atomic_state_type

template<class LkT >
typedef lock_traits::atomic_state_type jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::lock::lockable< LkT >::atomic_state_type

Definition at line 34 of file locking.hpp.

◆ lock_traits

template<class LkT >
using jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::lock::lockable< LkT >::lock_traits = LkT

Definition at line 33 of file locking.hpp.

◆ timeout_type

template<class LkT >
typedef lock_traits::timeout_type jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::lock::lockable< LkT >::timeout_type

Definition at line 35 of file locking.hpp.

Member Function Documentation

◆ lock() [1/2]

◆ lock() [2/2]

◆ try_lock()

◆ unlock()


The documentation for this struct was generated from the following files: