VAE - Virtual Audio Engine 1
Small Data Driven Audio Engine
tklb::LockGuardTry< T > Class Template Reference

#include <TLockGuard.hpp>

Collaboration diagram for tklb::LockGuardTry< T >:

Public Member Functions

 LockGuardTry (const LockGuardTry &)=delete
 
 LockGuardTry (const LockGuardTry *)=delete
 
 LockGuardTry (LockGuardTry &&)=delete
 
LockGuardTryoperator= (const LockGuardTry &)=delete
 
LockGuardTryoperator= (LockGuardTry &&)=delete
 
 LockGuardTry (T &mutex)
 
bool isLocked () const
 
 ~LockGuardTry ()
 

Private Attributes

T & mMutex
 
bool mGotLock = false
 

Detailed Description

template<class T>
class tklb::LockGuardTry< T >

Definition at line 25 of file TLockGuard.hpp.

Constructor & Destructor Documentation

◆ LockGuardTry() [1/4]

template<class T >
tklb::LockGuardTry< T >::LockGuardTry ( const LockGuardTry< T > &  )
delete

◆ LockGuardTry() [2/4]

template<class T >
tklb::LockGuardTry< T >::LockGuardTry ( const LockGuardTry< T > *  )
delete

◆ LockGuardTry() [3/4]

template<class T >
tklb::LockGuardTry< T >::LockGuardTry ( LockGuardTry< T > &&  )
delete

◆ LockGuardTry() [4/4]

template<class T >
tklb::LockGuardTry< T >::LockGuardTry ( T &  mutex)
inline

Definition at line 35 of file TLockGuard.hpp.

35 : mMutex(mutex) {
36 mGotLock = mutex.try_lock();
37 }

◆ ~LockGuardTry()

template<class T >
tklb::LockGuardTry< T >::~LockGuardTry ( )
inline

Definition at line 43 of file TLockGuard.hpp.

43 {
44 if (mGotLock) {
45 mMutex.unlock();
46 }
47 }

Member Function Documentation

◆ isLocked()

template<class T >
bool tklb::LockGuardTry< T >::isLocked ( ) const
inline

Definition at line 39 of file TLockGuard.hpp.

39 {
40 return mGotLock;
41 }

◆ operator=() [1/2]

template<class T >
LockGuardTry & tklb::LockGuardTry< T >::operator= ( const LockGuardTry< T > &  )
delete

◆ operator=() [2/2]

template<class T >
LockGuardTry & tklb::LockGuardTry< T >::operator= ( LockGuardTry< T > &&  )
delete

Member Data Documentation

◆ mGotLock

template<class T >
bool tklb::LockGuardTry< T >::mGotLock = false
private

Definition at line 27 of file TLockGuard.hpp.

◆ mMutex

template<class T >
T& tklb::LockGuardTry< T >::mMutex
private

Definition at line 26 of file TLockGuard.hpp.


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