summaryrefslogtreecommitdiffhomepage
path: root/compat/util.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'compat/util.hpp')
-rw-r--r--compat/util.hpp100
1 files changed, 0 insertions, 100 deletions
diff --git a/compat/util.hpp b/compat/util.hpp
deleted file mode 100644
index 60427b53..00000000
--- a/compat/util.hpp
+++ /dev/null
@@ -1,100 +0,0 @@
-#pragma once
-
-#include "ndebug-guard.hpp"
-#include "run-in-thread.hpp"
-
-#include <memory>
-#include <cmath>
-#include <utility>
-
-#include <QSharedPointer>
-#include <QDebug>
-
-#define progn(...) ([&]() { __VA_ARGS__ }())
-
-#define once_only(...) progn(static bool once = false; if (!once) { once = true; __VA_ARGS__; })
-
-template<typename t> using mem = std::shared_ptr<t>;
-template<typename t> using ptr = std::unique_ptr<t>;
-
-#ifdef Q_CREATOR_RUN
-# define DEFUN_WARN_UNUSED
-#elif defined(_MSC_VER)
-# define DEFUN_WARN_UNUSED _Check_return_
-#else
-# define DEFUN_WARN_UNUSED __attribute__((warn_unused_result))
-#endif
-
-#if defined(__GNUG__)
-# define unused(t, i) t __attribute__((unused)) i
-#else
-# define unused(t, i) t
-#endif
-
-#if !defined(_WIN32)
-# define unused_on_unix(t, i) unused(t, i)
-#else
-# define unused_on_unix(t, i) t i
-#endif
-
-template<typename t>
-int iround(const t& val)
-{
- return int(std::round(val));
-}
-
-namespace util_detail {
-
-template<typename n>
-inline auto clamp_(n val, n min, n max) -> n
-{
- if (val > max)
- return max;
- if (val < min)
- return min;
- return val;
-}
-
-}
-
-template<typename t, typename u, typename w>
-inline auto clamp(const t& val, const u& min, const w& max) -> decltype(val * min * max)
-{
- 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>;
-
-#if defined _MSC_VER
-# define OTR_NEVER_INLINE __declspec(noinline)
-#elif defined __GNUG__
-# define OTR_NEVER_INLINE __attribute__((noinline))
-#else
-# define OTR_NEVER_INLINE
-#endif
-
-#if defined _MSC_VER || defined __GNUG__
-# define OTR_RESTRICT __restrict
-#else
-# define OTR_RESTRICT
-#endif
-
-#if defined _MSC_VER
-# define OTR_ALWAYS_INLINE __forceinline
-#elif defined __GNUG__
-# define OTR_ALWAYS_INLINE __attribute__((always_inline))
-#else
-# define OTR_ALWAYS_INLINE inline
-#endif
-
-#if defined __GNUG__
-# define OTR_FLATTEN __attribute__((flatten))
-#else
-# define OTR_FLATTEN OTR_ALWAYS_INLINE
-#endif