commit 20a6c99eb01141f58f3b7135b4b1027e482c7fff
parent c0fb5e098119d9bceb01ccd98bf19f2e15450881
Author: d.levin256@gmail.com <d.levin256@gmail.com>
Date: Wed, 10 Aug 2016 08:22:24 +0300
Move operators for cval_t and cvals_t to ops namespace
Diffstat:
1 file changed, 13 insertions(+), 4 deletions(-)
diff --git a/include/kfr/cometa.hpp b/include/kfr/cometa.hpp
@@ -198,8 +198,15 @@ struct compound_type_traits<std::pair<T, T>>
}
};
+namespace ops
+{
+struct empty
+{
+};
+}
+
template <typename T, T val>
-struct cval_t
+struct cval_t : ops::empty
{
constexpr static T value = val;
constexpr cval_t() noexcept = default;
@@ -337,7 +344,7 @@ struct get_nth_type<index>
}
template <typename T, T... values>
-struct cvals_t
+struct cvals_t : ops::empty
{
using type = cvals_t<T, values...>;
constexpr static size_t size() { return sizeof...(values); }
@@ -371,7 +378,7 @@ struct cvals_t
};
template <typename T>
-struct cvals_t<T>
+struct cvals_t<T> : ops::empty
{
using type = cvals_t<T>;
constexpr static size_t size() { return 0; }
@@ -591,7 +598,8 @@ constexpr inline Ret cfilter(cvals_t<T, vals...>, cvals_t<bool, flags...>)
{ \
return Ret{}; \
}
-
+namespace ops
+{
// clang-format off
CMT_UN_OP(-)
CMT_UN_OP(+)
@@ -617,6 +625,7 @@ CMT_BIN_OP(&)
CMT_BIN_OP(|)
CMT_BIN_OP(^)
// clang-format on
+}
namespace details
{