From 649bd95f5d26206f600a0c898624622ac47b539e Mon Sep 17 00:00:00 2001 From: Recolic Keghart <root@recolic.net> Date: Thu, 16 Apr 2020 19:15:50 +0800 Subject: [PATCH] add N tuple T --- meta.hpp | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/meta.hpp b/meta.hpp index e14e460..96e6048 100644 --- a/meta.hpp +++ b/meta.hpp @@ -54,6 +54,19 @@ namespace rlib { #endif template <size_t... forwardedArgs> struct argForwarder {}; -} + + namespace impl { + template <typename T, std::size_t _> + using get_T = T; + template <typename T, std::size_t... _> + auto make_N_tuple_impl_f(std::index_sequence<_ ...>) { + using make_N_tuple_impl = std::tuple<get_T<T, _> ...>; + return make_N_tuple_impl(); + } + } // end namespace rlib::impl + template <typename T, std::size_t N> + using N_tuple_t = decltype(impl::make_N_tuple_impl_f<T>(std::make_integer_sequence<std::size_t, N>())); + +} // end namespace rlib #endif -- GitLab