template<class T>
struct evo::SmartLock< T >
Smart locking for synchronization.
- This is associated with a locking object, and used to lock it
- By default you lock with the constructor, and the destructor automatically unlocks (if locked)
- This keeps track of whether it has locked the object, which protects against double lock or unlock here
- Caution: Since this references a synchronization object, that object must be valid as long as this references it
- Caution: Do not share an instance across multiple threads, this is not safe
- See also: SmartLockInert
- Template Parameters
-