8 #ifndef INCL_evo_lock_h 9 #define INCL_evo_lock_h 170 if (!
locked_ && sleep_ms > 0) {
SmartLock & lock()
Lock object, if not already locked by this.
Definition: lock.h:50
SmartLock & unlock()
Unlock object, if locked by this.
Definition: lock.h:61
SmartLock(T &object, bool lock=true)
Constructor.
Definition: lock.h:33
~SmartLock()
Destructor, unlocks if locked here.
Definition: lock.h:42
SmartLockRead(T &object, bool lock=true)
Constructor.
Definition: lock.h:92
Smart sleep-locking for synchronization.
Definition: lock.h:146
SmartLockRead & lock()
Read-Lock object, if not already locked by this.
Definition: lock.h:109
SmartLockRead & unlock()
Read-Unlock object, if locked by this.
Definition: lock.h:120
~SmartSleepLock()
Destructor, unlocks if locked here.
Definition: lock.h:160
bool locked_
Whether object is locked by this.
Definition: lock.h:72
T & object_
Synchronization object to lock.
Definition: lock.h:69
Smart locking for synchronization.
Definition: lock.h:28
SmartSleepLock(T &object, ulong sleep_ms=1)
Constructor.
Definition: lock.h:151
SmartSleepLock & lock(ulong sleep_ms=1)
Lock object, if not already locked by this.
Definition: lock.h:169
Evo C++ Library namespace.
Definition: alg.h:11
Smart read-locking for synchronization.
Definition: lock.h:87
SmartSleepLock & unlock()
Unlock object, if locked by this.
Definition: lock.h:180
~SmartLockRead()
Destructor, unlocks if locked here.
Definition: lock.h:101