29#ifndef ETL_TYPE_LOOKUP_INCLUDED
30#define ETL_TYPE_LOOKUP_INCLUDED
34#include "static_assert.h"
41#error THIS HEADER IS A GENERATOR. DO NOT INCLUDE.
53 template <
typename T,
int ID_>
67 template <
typename T1,
typename T2>
74#if ETL_USING_CPP11 && !defined(ETL_TYPE_SELECT_FORCE_CPP03_IMPLEMENTATION)
78 template <
typename...
TTypes>
87 template <
size_t ID,
typename T1,
typename...
TRest>
92 typename type_from_id_helper<ID, TRest...>::type>::type;
96 template <
size_t ID,
typename T1>
125 template <
typename T,
typename T1,
typename...
TRest>
132 template <
typename T,
typename T1>
143 template <
typename T>
148 static_assert(value != UNKNOWN,
"Invalid type");
152 template <
typename T>
157 template <
typename T>
158 static unsigned int get_id_from_type(
const T&)
164 template <
typename T>
165 static unsigned int get_id_from_type()
167 return id_from_type<T>::value;
174 template <
typename...
TTypes>
175 class type_type_lookup
182 template <
typename T,
typename T1,
typename...
TRest>
187 typename type_from_type_helper<T, TRest...>::type>::type;
190 template <
typename T,
typename T1>
200 template <
typename T>
212 template <
typename T>
221 template <
typename T1,
263 ::type>::type>::type>::type>
264 ::type>::type>::type>::type>
265 ::type>::type>::type>::type
type;
276 template <
typename T>
298 (
unsigned int) UNKNOWN
301 ETL_STATIC_ASSERT(((
unsigned int)value != (
unsigned int)UNKNOWN),
"Invalid type");
305 template <
typename T>
306 static unsigned int get_id_from_type(
const T&)
312 template <
typename T>
313 static unsigned int get_id_from_type()
315 return id_from_type<T>::value;
322 template <
typename T1,
343 template <
typename T>
364 ::type>::type>::type>::type>::type>::type>::type>::type
type;
Definition null_type.h:40
Definition integral_limits.h:516
conditional
Definition type_traits_generator.h:1199
is_same
Definition type_traits_generator.h:1080
bitset_ext
Definition absolute.h:38
ETL_NODISCARD ETL_CONSTEXPR14 T round_half_even_unscaled(T value) ETL_NOEXCEPT
Definition scaled_rounding.h:314
Definition type_lookup.h:278
Definition type_lookup.h:244
Definition type_lookup.h:238
The type/id pair type to use for type/id lookup template parameters.
Definition type_lookup_generator.h:67
Definition type_lookup.h:345
Definition type_lookup.h:339
The type/type pair type to use for type/type lookup template parameters.
Definition type_lookup_generator.h:81