Wildmeshing Toolkit
concatenate_types.hpp
Go to the documentation of this file.
1
#pragma once
2
#include <tuple>
3
4
namespace
wmtk::utils::metaprogramming::tuple
{
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>
12
struct
concatenate_types
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>
26
using
concatenate_types_t
=
typename
concatenate_types<T, U>::type
;
27
}
// namespace wmtk::utils::metaprogramming::tuple
std
Definition:
autodiff.h:995
wmtk::utils::metaprogramming::tuple
Definition:
as_variant_type.hpp:6
wmtk::utils::metaprogramming::tuple::concatenate_types_t
typename concatenate_types< T, U >::type concatenate_types_t
Definition:
concatenate_types.hpp:26
wmtk::utils::metaprogramming::tuple::concatenate_types< std::tuple< Ts... >, std::tuple< Us... > >::type
std::tuple< Ts..., Us... > type
Definition:
concatenate_types.hpp:20
wmtk::utils::metaprogramming::tuple::concatenate_types
Definition:
concatenate_types.hpp:13
src
wmtk
utils
metaprogramming
tuple
concatenate_types.hpp
Generated by
1.9.1