diff options
author | Benji Dial <benji@benjidial.net> | 2024-07-29 19:59:52 -0400 |
---|---|---|
committer | Benji Dial <benji@benjidial.net> | 2024-07-29 19:59:52 -0400 |
commit | e6c3a80b01ffb52079783cddd9be6d392d0f7039 (patch) | |
tree | 148276b9878f287bc81638f90249ec4d7b86eaf0 /euler/include/std/unique_lock.hpp | |
parent | be691582ee12613278af24cb5a824eeb357f6324 (diff) | |
download | hilbert-os-e6c3a80b01ffb52079783cddd9be6d392d0f7039.tar.gz |
redesign compositor protocol, start widget library
Diffstat (limited to 'euler/include/std/unique_lock.hpp')
-rw-r--r-- | euler/include/std/unique_lock.hpp | 53 |
1 files changed, 0 insertions, 53 deletions
diff --git a/euler/include/std/unique_lock.hpp b/euler/include/std/unique_lock.hpp deleted file mode 100644 index 14b3645..0000000 --- a/euler/include/std/unique_lock.hpp +++ /dev/null @@ -1,53 +0,0 @@ -#pragma once - -namespace std { - - template <class Mutex> - class unique_lock { - - Mutex *the_mutex; - bool has_locked; - - public: - inline unique_lock() noexcept : the_mutex(0) {} - - unique_lock(const unique_lock &other) = delete; - - inline unique_lock(unique_lock &&other) noexcept - : the_mutex(other.the_mutex), has_locked(other.has_locked) { - other.the_mutex = 0; - } - - inline explicit unique_lock(Mutex &m) - : the_mutex(&m), has_locked(true) { - the_mutex->lock(); - } - - inline ~unique_lock() { - if (the_mutex && has_locked) - the_mutex->unlock(); - } - - unique_lock &operator =(const unique_lock &other) = delete; - - inline unique_lock &operator =(unique_lock &&other) { - if (the_mutex && has_locked) - the_mutex->unlock(); - the_mutex = other.the_mutex; - has_locked = other.has_locked; - other.the_mutex = 0; - } - - inline void lock() { - the_mutex->lock(); - has_locked = true; - } - - inline void unlock() { - the_mutex->unlock(); - has_locked = false; - } - - }; - -} |