Template Class ConditionalLockGuard
Defined in File Utility.hpp
Class Documentation
-
template<typename Mutex>
class ConditionalLockGuard Conditional lock guard.
Locks a mutex if a condition is true, and unlocks it when destroyed.
- Template Parameters:
Mutex – The mutex type
Public Functions
-
inline ConditionalLockGuard(Mutex &mtx, bool should_lock)
Construct a new Conditional Lock Guard object.
Lock the mutex if should_lock is true.
- Parameters:
mtx – The mutex to lock
should_lock – Whether to lock the mutex
-
inline ~ConditionalLockGuard()
Destroy the Conditional Lock Guard object.
Unlock the mutex if it was locked
-
ConditionalLockGuard(const ConditionalLockGuard&) = delete
-
ConditionalLockGuard &operator=(const ConditionalLockGuard&) = delete
-
ConditionalLockGuard(ConditionalLockGuard&&) = delete
-
ConditionalLockGuard &operator=(ConditionalLockGuard&&) = delete