29#ifndef ETL_NTH_TYPE_INCLUDED
30#define ETL_NTH_TYPE_INCLUDED
33#include "static_assert.h"
39 namespace private_nth_type
42 template <
size_t Index,
typename T1,
typename... TRest>
43 struct nth_type_helper
45 using type =
typename nth_type_helper<Index - 1U, TRest...>::type;
48 template <
typename T1,
typename... TRest>
49 struct nth_type_helper<0U, T1, TRest...>
56 template <
size_t Index,
typename... TTypes>
59 ETL_STATIC_ASSERT(Index <
sizeof...(TTypes),
"etl::nth_type index 'Index' out of bounds");
61 using type =
typename private_nth_type::nth_type_helper<Index, TTypes...>::type;
62 using type_list = etl::type_list<TTypes...>;
66 template <
size_t Index,
typename... TTypes>
67 struct nth_type<Index, etl::type_list<TTypes...>>
69 using type =
typename nth_type<Index, TTypes...>::type;
70 using type_list =
typename nth_type<Index, TTypes...>::type_list;
74 template <
size_t Index,
typename... TTypes>
75 using nth_type_t =
typename nth_type<Index, TTypes...>::type;
bitset_ext
Definition absolute.h:40