1789ec3b7ad4ec81f898d5076a24fb3c69ad9ef5
[invirt/third/libt4.git] / lock.h
1 #ifndef lock_h
2 #define lock_h
3
4 #include <thread>
5 #include <mutex>
6
7 using std::mutex;
8 using lock = std::unique_lock<std::mutex>;
9 using cond = std::condition_variable;
10
11 class adopt_lock : public lock {
12 public:
13     explicit inline adopt_lock(class mutex &m) : std::unique_lock<std::mutex>(m, std::adopt_lock) {
14     }
15     inline ~adopt_lock() {
16         release();
17     }
18 };
19
20 #endif