29#ifndef ETL_INDEX_OF_TYPE_INCLUDED
30#define ETL_INDEX_OF_TYPE_INCLUDED
44 static ETL_CONSTANT
size_t index_of_type_npos = etl::integral_limits<size_t>::max;
49 template <
typename T,
typename... TTypes>
55 template <
typename T,
typename T1,
typename... TRest>
56 struct index_of_type<T, T1, TRest...>
57 :
public etl::integral_constant< size_t, etl::is_same<T, T1>::value ? 0
58 : (etl::index_of_type<T, TRest...>::value == etl::index_of_type_npos
59 ? etl::index_of_type_npos
60 : etl::index_of_type<T, TRest...>::value + 1)>
69 struct index_of_type<T> :
public etl::integral_constant<size_t, etl::index_of_type_npos>
77 template <
typename T,
typename... TTypes>
78 inline constexpr size_t index_of_type_v = etl::index_of_type<T, TTypes...>::value;