summaryrefslogtreecommitdiffhomepage
path: root/compat/mutex.cpp
diff options
context:
space:
mode:
authorStanislaw Halik <sthalik@misaki.pl>2025-04-25 08:01:32 +0200
committerStanislaw Halik <sthalik@misaki.pl>2025-05-16 08:54:13 +0200
commit78f8c6c81c2e900aa1cb433940667a054cc0b6ed (patch)
treeb03c5c96e1d45645a5528d2007f343f21bd46f48 /compat/mutex.cpp
parent1f737463587fec21337631bc0320718b49fde26c (diff)
buffer flush
Diffstat (limited to 'compat/mutex.cpp')
-rw-r--r--compat/mutex.cpp30
1 files changed, 14 insertions, 16 deletions
diff --git a/compat/mutex.cpp b/compat/mutex.cpp
index 664677ea..71f42329 100644
--- a/compat/mutex.cpp
+++ b/compat/mutex.cpp
@@ -1,33 +1,31 @@
+#include "export.hpp"
#include "mutex.hpp"
#include <cstdlib>
+#include <QMutex>
+#include <QRecursiveMutex>
-mutex& mutex::operator=(const mutex& rhs)
+template<typename M>
+mutex<M>& mutex<M>::operator=(const mutex& rhs)
{
- if (rhs->isRecursive() != inner.isRecursive())
- std::abort();
-
return *this;
}
-mutex::mutex(const mutex& datum) : mutex{datum.inner.isRecursive() ? Recursive : NonRecursive}
-{
-}
+template<typename MutexType> MutexType* mutex<MutexType>::operator&() const { return &inner; }
-mutex::mutex(RecursionMode m) : inner{m}
-{
-}
+template<typename M> mutex<M>::mutex(const mutex<M>& datum) {}
+template<typename M> mutex<M>::mutex() = default;
-QMutex* mutex::operator&() const noexcept
+template<typename M>
+mutex<M>::operator M*() const noexcept
{
return &inner;
}
-mutex::operator QMutex*() const noexcept
+template<typename M>
+M* mutex<M>::operator->() const noexcept
{
return &inner;
}
-QMutex* mutex::operator->() const noexcept
-{
- return &inner;
-}
+template class OTR_COMPAT_EXPORT mutex<QMutex>;
+template class OTR_COMPAT_EXPORT mutex<QRecursiveMutex>;