3#ifndef DUNE_COMMON_TYPELIST_HH
4#define DUNE_COMMON_TYPELIST_HH
65 struct IsEmptyTypeList : std::integral_constant<bool, IsTypeList<T>() and std::is_same<T, TypeList<> >() > {};
70 struct TypeListSize {};
81 struct TypeListSize<
TypeList<T...>> : std::integral_constant<std::size_t, sizeof...(T)> {};
85 template<std::
size_t i,
class T>
86 struct TypeListElement {};
93 template<std::size_t i,
class... T>
101 using type =
typename std::tuple_element<i, std::tuple<T...>>::type;
114 template<std::
size_t i,
class T>
Dune namespace.
Definition: alignment.hh:11
typename TypeListElement< i, T >::type TypeListEntry_t
Shortcut for TypeListElement<i, T>::type;.
Definition: typelist.hh:115
Check if given type is an empty TypeList.
Definition: typelist.hh:65
Check if given type is a TypeList.
Definition: typelist.hh:44
typename std::tuple_element< i, std::tuple< T... > >::type type
Export type of i-th element in TypeList.
Definition: typelist.hh:101
type Type
Export type of i-th element in TypeList.
Definition: typelist.hh:108
A simple type list.
Definition: typelist.hh:31