commit 904d3ff9a6e83ad394234290e317eea8f45e160c
parent 71155100ac5dd4855db7f2643f3c8f3ec7a81642
Author: d.levin256@gmail.com <d.levin256@gmail.com>
Date: Tue, 26 Jul 2016 13:13:35 +0300
CoMeta: cconcat for ctypes_t
Diffstat:
1 file changed, 24 insertions(+), 20 deletions(-)
diff --git a/include/kfr/cometa.hpp b/include/kfr/cometa.hpp
@@ -361,26 +361,6 @@ struct cvals_t<T>
constexpr static size_t size() { return 0; }
};
-namespace details
-{
-template <typename T1, typename T2>
-struct concat_impl;
-
-template <typename T, T... values1, T... values2>
-struct concat_impl<cvals_t<T, values1...>, cvals_t<T, values2...>>
-{
- using type = cvals_t<T, values1..., values2...>;
-};
-}
-template <typename T1, typename T2>
-using concat_lists = typename details::concat_impl<T1, T2>::type;
-
-template <typename T1, typename T2>
-constexpr inline concat_lists<T1, T2> cconcat(T1, T2)
-{
- return {};
-}
-
template <bool... values>
using cbools_t = cvals_t<bool, values...>;
@@ -475,6 +455,30 @@ struct ctypes_t
template <typename... Ts>
constexpr ctypes_t<Ts...> ctypes{};
+namespace details
+{
+template <typename T1, typename T2>
+struct concat_impl;
+
+template <typename T, T... values1, T... values2>
+struct concat_impl<cvals_t<T, values1...>, cvals_t<T, values2...>>
+{
+ using type = cvals_t<T, values1..., values2...>;
+};
+template <typename... types1, typename... types2>
+struct concat_impl<ctypes_t<types1...>, ctypes_t<types2...>>
+{
+ using type = ctypes_t<types1..., types2...>;
+};
+}
+template <typename T1, typename T2>
+using concat_lists = typename details::concat_impl<T1, T2>::type;
+
+template <typename T1, typename T2>
+constexpr inline concat_lists<T1, T2> cconcat(T1, T2)
+{
+ return {};
+}
namespace details
{