pars 0.2.1
Loading...
Searching...
No Matches
pars::app::locked< resource_t, mutex_t, key_t, lock_t > Struct Template Reference

#include <resources.h>

Public Types

using resource_type = resource_t
 
using mutex_type = mutex_t
 
using key_type = key_t
 
using lock_type = lock_t
 

Public Member Functions

 locked (lockable< resource_type, mutex_type > l, key_type k)
 
auto & resource ()
 
auto & guard ()
 
auto & key ()
 

Detailed Description

template<typename resource_t, typename mutex_t, typename key_t, typename lock_t = std::unique_lock<mutex_t>>
struct pars::app::locked< resource_t, mutex_t, key_t, lock_t >

Definition at line 54 of file resources.h.

Member Typedef Documentation

◆ key_type

template<typename resource_t, typename mutex_t, typename key_t, typename lock_t = std::unique_lock<mutex_t>>
using pars::app::locked< resource_t, mutex_t, key_t, lock_t >::key_type = key_t

Definition at line 59 of file resources.h.

◆ lock_type

template<typename resource_t, typename mutex_t, typename key_t, typename lock_t = std::unique_lock<mutex_t>>
using pars::app::locked< resource_t, mutex_t, key_t, lock_t >::lock_type = lock_t

Definition at line 60 of file resources.h.

◆ mutex_type

template<typename resource_t, typename mutex_t, typename key_t, typename lock_t = std::unique_lock<mutex_t>>
using pars::app::locked< resource_t, mutex_t, key_t, lock_t >::mutex_type = mutex_t

Definition at line 58 of file resources.h.

◆ resource_type

template<typename resource_t, typename mutex_t, typename key_t, typename lock_t = std::unique_lock<mutex_t>>
using pars::app::locked< resource_t, mutex_t, key_t, lock_t >::resource_type = resource_t

Definition at line 57 of file resources.h.

Constructor & Destructor Documentation

◆ locked()

template<typename resource_t, typename mutex_t, typename key_t, typename lock_t = std::unique_lock<mutex_t>>
pars::app::locked< resource_t, mutex_t, key_t, lock_t >::locked ( lockable< resource_type, mutex_type > l,
key_type k )
inline

Definition at line 62 of file resources.h.

63 : lockable_m{l}
64 , key_m{k}
65 , guard_m{lock_type{l.mutex}}
66 {
67 }

Member Function Documentation

◆ guard()

template<typename resource_t, typename mutex_t, typename key_t, typename lock_t = std::unique_lock<mutex_t>>
auto & pars::app::locked< resource_t, mutex_t, key_t, lock_t >::guard ( )
inline

Definition at line 71 of file resources.h.

71{ return guard_m; }

◆ key()

template<typename resource_t, typename mutex_t, typename key_t, typename lock_t = std::unique_lock<mutex_t>>
auto & pars::app::locked< resource_t, mutex_t, key_t, lock_t >::key ( )
inline

Definition at line 73 of file resources.h.

73{ return key_m; }

◆ resource()

template<typename resource_t, typename mutex_t, typename key_t, typename lock_t = std::unique_lock<mutex_t>>
auto & pars::app::locked< resource_t, mutex_t, key_t, lock_t >::resource ( )
inline

Definition at line 69 of file resources.h.

69{ return lockable_m.resource; }

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