summaryrefslogtreecommitdiffhomepage
path: root/compat
diff options
context:
space:
mode:
authorStanislaw Halik <sthalik@misaki.pl>2018-06-22 13:16:59 +0200
committerStanislaw Halik <sthalik@misaki.pl>2018-06-26 23:01:53 +0200
commit0f182b791622ad4491c8aabf8edce21a63839bdc (patch)
tree7f166beb01891d32d123969eaca6ad37e9b5ebae /compat
parent085e99d1fcd7fc8265c69292ff3dbe30167d5b38 (diff)
compat/meta: moved to macros already
Diffstat (limited to 'compat')
-rw-r--r--compat/macros.hpp12
-rw-r--r--compat/meta.hpp12
2 files changed, 10 insertions, 14 deletions
diff --git a/compat/macros.hpp b/compat/macros.hpp
index abe89c73..8b635201 100644
--- a/compat/macros.hpp
+++ b/compat/macros.hpp
@@ -51,9 +51,18 @@
# define PP_CAT1(x,y) x##y
#endif
+#define once_only(...) do { static bool once__ = false; if (!once__) { once__ = true; __VA_ARGS__; } } while(false)
+
#if defined __cplusplus
-// from now only C++ macros
+// from now only C++
+
+#include <type_traits>
+
+template<typename t>
+using cv_qualified = std::conditional_t<std::is_fundamental_v<std::decay_t<t>>,
+ std::decay_t<t>,
+ std::add_lvalue_reference_t<std::add_const_t<std::remove_reference_t<t>>>>;
template<bool>
[[deprecated]] constexpr force_inline void static_warn() {}
@@ -70,4 +79,3 @@ constexpr force_inline void static_warn<true>() {}
// end c++-only macros
#endif
-#define once_only(...) do { static bool once__ = false; if (!once__) { once__ = true; __VA_ARGS__; } } while(false)
diff --git a/compat/meta.hpp b/compat/meta.hpp
index c33777f4..b02029a7 100644
--- a/compat/meta.hpp
+++ b/compat/meta.hpp
@@ -7,18 +7,6 @@
* copyright notice and this permission notice appear in all copies.
*/
-#include <type_traits>
-
-template<typename t>
-using cv_qualified = std::conditional_t<std::is_fundamental_v<std::decay_t<t>>,
- std::decay_t<t>,
- std::add_lvalue_reference_t<std::add_const_t<std::remove_reference_t<t>>>>;
-
-#define progn(...) (([&]() { __VA_ARGS__ })())
-#define prog1(x, ...) (([&]() { auto _ret1324 = (x); do { __VA_ARGS__; } while (0); return _ret1324; })())
-
-#define once_only(...) do { static bool once__ = false; if (!once__) { once__ = true; __VA_ARGS__; } } while(false)
-
#if 0
#include <tuple>