diff options
author | Stanislaw Halik <sthalik@misaki.pl> | 2016-12-03 07:11:16 +0100 |
---|---|---|
committer | Stanislaw Halik <sthalik@misaki.pl> | 2016-12-03 07:11:16 +0100 |
commit | 2c80de4bf9ba4a7ee852540168c3de9bc9ec17d9 (patch) | |
tree | f643c34200ad2c4034b2b446a7aa12cee56e4cdc /compat | |
parent | 7af59eda13eb8dcbb14e6db71266772f5ea663e9 (diff) |
fixup! tracker/{aruco,pt}: use RAII for QObject
Diffstat (limited to 'compat')
-rw-r--r-- | compat/util.hpp | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/compat/util.hpp b/compat/util.hpp index a63e245f..5b9e2c69 100644 --- a/compat/util.hpp +++ b/compat/util.hpp @@ -1,10 +1,15 @@ #pragma once +#include "ndebug-guard.hpp" + #include "make-unique.hpp" #include "run-in-thread.hpp" #include <memory> #include <cmath> +#include <utility> + +#include <QSharedPointer> #define progn(...) ([&]() { __VA_ARGS__ }()) template<typename t> using mem = std::shared_ptr<t>; @@ -41,3 +46,11 @@ inline auto clamp(const t& val, const u& min, const w& max) -> decltype(val * mi { return ::util_detail::clamp_<decltype(val * min * max)>(val, min, max); } + +template<typename t, typename... xs> +auto qptr(xs... args) +{ + return QSharedPointer<t>(new t(std::forward<xs>(args)...)); +} + +template<typename t> using qshared = QSharedPointer<t>; |