libjmmcg
release_579_6_g8cffd
A C++ library containing an eclectic mix of useful, advanced components.
|
#include <locking.hpp>
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 |
Definition at line 32 of file locking.hpp.
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.
using jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::lock::lockable< LkT >::lock_traits = LkT |
Definition at line 33 of file locking.hpp.
typedef lock_traits::timeout_type jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::lock::lockable< LkT >::timeout_type |
Definition at line 35 of file locking.hpp.
|
pure virtualnoexcept |
Implemented in jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::lock::scope_lock< LockObject >, jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::lock::in_process< LockObject >, jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::lock::rw::locker< T >, jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::pthreads::anon_semaphore, jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::pthreads::semaphore, jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::pthreads::nonrecursive_anon_mutex, jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::NTUtils::recursive_anon_mutex, jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::NTUtils::recursive_mutex, jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::NTUtils::anon_event, jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::NTUtils::event, jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::NTUtils::recursive_critical_section, jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::lock::anon_spin_event< LkT >, jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::no_locking::critical_section, jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::no_locking::anon_event, and jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::pthreads::anon_mutex.
|
pure virtualnoexcept |
Implemented in jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::lock::scope_lock< LockObject >, jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::lock::in_process< LockObject >, jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::pthreads::semaphore, jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::NTUtils::recursive_anon_mutex, jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::NTUtils::recursive_mutex, jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::NTUtils::anon_event, jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::NTUtils::event, jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::NTUtils::semaphore, jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::pthreads::anon_mutex, jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::lock::rw::locker< T >, jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::NTUtils::recursive_critical_section, and jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::lock::anon_spin_event< LkT >.
|
inlinevirtualnoexcept |
Reimplemented in jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::lock::scope_lock< LockObject >, jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::lock::in_process< LockObject >, jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::lock::in_process_unlockable< LockObject >, jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::pthreads::anon_semaphore, and jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::pthreads::semaphore.
Definition at line 22 of file locking_impl.hpp.
|
pure virtualnoexcept |
Implemented in jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::pthreads::nonrecursive_anon_mutex, jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::NTUtils::recursive_anon_mutex, jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::NTUtils::recursive_mutex, jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::NTUtils::anon_event, jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::NTUtils::event, jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::NTUtils::recursive_critical_section, jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::lock::anon_spin_event< LkT >, jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::pthreads::semaphore, jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::lock::scope_lock< LockObject >, jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::lock::in_process< LockObject >, jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::lock::in_process_unlockable< LockObject >, jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::lock::rw::locker< T >, jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::no_locking::critical_section, jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::no_locking::anon_event, jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::pthreads::anon_semaphore, and jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::pthreads::anon_mutex.