Wildmeshing Toolkit
concatenate_types.hpp
Go to the documentation of this file.
1 #pragma once
2 #include <tuple>
3 
5 
6 
7 // creates a tuple that concatenates the types passed in
8 
9 
10 // generic case so we can specialize with tuples passed in
11 template <typename T, typename U>
13 {
14 };
15 
16 // main case where we pass in two tuples
17 template <typename... Ts, typename... Us>
18 struct concatenate_types<std::tuple<Ts...>, std::tuple<Us...>>
19 {
20  using type = std::tuple<Ts..., Us...>;
21 };
22 
23 
24 // alias to underlying type
25 template <typename T, typename U>
27 } // namespace wmtk::utils::metaprogramming::tuple
Definition: autodiff.h:995
typename concatenate_types< T, U >::type concatenate_types_t