summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGravatar Lioncash2021-04-07 01:25:55 -0400
committerGravatar Lioncash2021-04-07 01:25:57 -0400
commitc0187690167704fd72dadad9dff5a8fb7e4f96bb (patch)
tree2a6fed6b4a1c9d436a64e1441b42a09887d9c8ca /src
parentk_scoped_lock: Mark class as [[nodiscard]] (diff)
downloadyuzu-c0187690167704fd72dadad9dff5a8fb7e4f96bb.tar.gz
yuzu-c0187690167704fd72dadad9dff5a8fb7e4f96bb.tar.xz
yuzu-c0187690167704fd72dadad9dff5a8fb7e4f96bb.zip
k_scoped_lock: delete copy and move assignment operators
If we delete the copy and move constructor, we should also be deleting the copy and move assignment operators (and even if this were intended, it would be pretty odd to not document why it's done this way).
Diffstat (limited to 'src')
-rw-r--r--src/core/hle/kernel/k_scoped_lock.h7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/core/hle/kernel/k_scoped_lock.h b/src/core/hle/kernel/k_scoped_lock.h
index 543555680..7a1035b8c 100644
--- a/src/core/hle/kernel/k_scoped_lock.h
+++ b/src/core/hle/kernel/k_scoped_lock.h
@@ -25,14 +25,17 @@ public:
25 explicit KScopedLock(T* l) : lock_ptr(l) { 25 explicit KScopedLock(T* l) : lock_ptr(l) {
26 this->lock_ptr->Lock(); 26 this->lock_ptr->Lock();
27 } 27 }
28 explicit KScopedLock(T& l) : KScopedLock(std::addressof(l)) { /* ... */ 28 explicit KScopedLock(T& l) : KScopedLock(std::addressof(l)) {}
29 } 29
30 ~KScopedLock() { 30 ~KScopedLock() {
31 this->lock_ptr->Unlock(); 31 this->lock_ptr->Unlock();
32 } 32 }
33 33
34 KScopedLock(const KScopedLock&) = delete; 34 KScopedLock(const KScopedLock&) = delete;
35 KScopedLock& operator=(const KScopedLock&) = delete;
36
35 KScopedLock(KScopedLock&&) = delete; 37 KScopedLock(KScopedLock&&) = delete;
38 KScopedLock& operator=(KScopedLock&&) = delete;
36 39
37private: 40private:
38 T* lock_ptr; 41 T* lock_ptr;