libMesh
include
numerics
tuple_of.h
Go to the documentation of this file.
1
#ifndef LIBMESH_TUPLE_OF_H
2
#define LIBMESH_TUPLE_OF_H
3
4
#include <tuple>
5
6
namespace
libMesh
7
{
8
9
// Recursive tuple scheme
10
template
<
size_t
Index,
typename
T>
11
struct
tuple_n
12
{
13
template
<
typename
...Args>
using
type
=
typename
tuple_n
<Index-1, T>::template
type
<T, Args...>;
14
};
15
16
template
<
typename
T>
17
struct
tuple_n
<0, T>
18
{
19
template
<
typename
...Args>
using
type
= std::tuple<Args...>;
20
};
21
template
<
size_t
Index,
typename
T>
using
tuple_of
=
typename
tuple_n<Index,T>::template
type<>;
22
23
}
24
25
#endif
libMesh
The libMesh namespace provides an interface to certain functionality in the library.
Definition:
factoryfunction.C:55
libMesh::tuple_n::type
typename tuple_n< Index-1, T >::template type< T, Args... > type
Definition:
tuple_of.h:13
libMesh::tuple_of
typename tuple_n< Index, T >::template type<> tuple_of
Definition:
tuple_of.h:21
libMesh::tuple_n< 0, T >::type
std::tuple< Args... > type
Definition:
tuple_of.h:19
libMesh::tuple_n
Definition:
tuple_of.h:11
Generated on Sat Jan 25 2020 12:06:54 for libMesh by
1.8.16