Lumiera
0.pre.03
»edit your freedom«
|
#include "lib/sync-classlock.hpp"
A synchronisation protection guard employing a lock scoped to the parameter type as a whole, not an individual instance.
After creating an instance, every other access specifying the same type is blocked.
Definition at line 55 of file sync-classlock.hpp.
Classes | |
struct | PerClassMonitor |
Private Types | |
using | Lock = typename Sync< CONF >::Lock |
using | Monitor = typename sync::Monitor< CONF > |
Private Member Functions | |
Monitor & | getPerClassMonitor () |
Additional Inherited Members | |
Public Member Functions inherited from Sync< CONF >::Lock | |
template<class X > | |
Lock (X *it) | |
template<class X , class PRED > | |
Lock (X *it, PRED &&predicate) | |
convenience shortcut: Locks and immediately enters wait state on the given predicate | |
void | notify_all () |
void | notify_one () |
template<class PRED > | |
void | wait (PRED &&predicate) |
template<class DUR , class PRED > | |
bool | wait_for (DUR const &timeout, PRED &&predicate) |
Protected Member Functions inherited from Sync< CONF >::Lock | |
Lock (Monitor &m) | |
for creating a ClassLock | |
Monitor & | accessMonitor () |
subclass access to underlying sync primitives | |