32 #error THIS HEADER IS A GENERATOR. DO NOT INCLUDE.
53 #ifndef ETL_LARGEST_INCLUDED
54 #define ETL_LARGEST_INCLUDED
62 #include "static_assert.h"
66 #if ETL_CPP11_SUPPORTED && !defined(ETL_LARGEST_TYPE_FORCE_CPP03)
73 template <
typename T1,
typename... TRest>
79 using largest_other =
typename largest_type<TRest...>::type;
100 template <
typename T1>
101 class largest_type<T1>
113 #if ETL_CPP14_SUPPORTED
114 template <
typename... T>
115 using largest_type_t =
typename largest_type<T...>::type;
118 #if ETL_CPP17_SUPPORTED
119 template <
typename... T>
120 constexpr
size_t largest_type_v = largest_type<T...>::size;
131 template <
typename T1,
typename T2 = void,
typename T3 = void,
typename T4 = void,
132 typename T5 = void,
typename T6 = void,
typename T7 = void,
typename T8 = void,
133 typename T9 = void,
typename T10 = void,
typename T11 = void,
typename T12 = void,
134 typename T13 = void,
typename T14 = void,
typename T15 = void,
typename T16 =
void>
138 typedef typename largest_type<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16>::type largest_other;
157 template <
typename T1>
159 void, void, void, void, void, void, void, void>
170 #if ETL_CPP11_SUPPORTED && !defined(ETL_LARGEST_ALIGNMENT_FORCE_CPP03)
176 template <
typename T1,
typename... TRest>
199 template <
typename T1>
200 struct largest_alignment<T1>
210 #if ETL_CPP17_SUPPORTED
211 template <
typename... T>
212 inline constexpr
size_t largest_alignment_v = largest_alignment<T...>::value;
222 template <
typename T1,
typename T2 = void,
typename T3 = void,
typename T4 = void,
223 typename T5 = void,
typename T6 = void,
typename T7 = void,
typename T8 = void,
224 typename T9 = void,
typename T10 = void,
typename T11 = void,
typename T12 = void,
225 typename T13 = void,
typename T14 = void,
typename T15 = void,
typename T16 =
void>
229 typedef typename largest_alignment<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16>::type largest_other;
248 template <
typename T1>
250 void, void, void, void, void, void, void, void>
266 template <
typename T>
274 #if ETL_CPP14_SUPPORTED
275 template <
typename T>
276 using larger_int_type_t =
typename larger_int_type<T>::type;
284 template <
typename T>
285 struct larger_uint_type
292 #if ETL_CPP14_SUPPORTED
293 template <
typename T>
294 using larger_uint_type_t =
typename larger_uint_type<T>::type;
303 template <typename T, bool IS_SIGNED = etl::is_signed<T>::value>
306 template <
typename T>
307 struct larger_type<T, false>
314 template <
typename T>
315 struct larger_type<T, true>
322 #if ETL_CPP14_SUPPORTED
323 template <
typename T>
324 using larger_type_t =
typename larger_type<T>::type;
327 #if ETL_CPP11_SUPPORTED && !defined(ETL_LARGEST_FORCE_CPP03)
333 template <
typename... T>
345 #if ETL_CPP14_SUPPORTED
346 template <
typename... T>
347 using largest_t =
typename largest<T...>::type;
357 template <
typename T1,
typename T2 = void,
typename T3 = void,
typename T4 = void,
358 typename T5 = void,
typename T6 = void,
typename T7 = void,
typename T8 = void,
359 typename T9 = void,
typename T10 = void,
typename T11 = void,
typename T12 = void,
360 typename T13 = void,
typename T14 = void,
typename T15 = void,
typename T16 =
void>
363 typedef typename etl::largest_type<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16>::type type;
367 size =
etl::largest_type<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16>::size,
368 alignment =
etl::largest_alignment<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16>::value
Defines a type that is as larger or larger than the specified type. Will return the specified type is...
Definition: largest_generator.h:316
Definition: largest.h:362
Definition: largest.h:227
Definition: largest.h:136
Template to determine the smallest signed int type that can contain a value with the specified number...
Definition: smallest_generator.h:345
Template to determine the smallest unsigned int type that can contain a value with the specified numb...
Definition: smallest_generator.h:319
add_rvalue_reference
Definition: type_traits_generator.h:1348
conditional
Definition: type_traits_generator.h:1202
is_integral
Definition: type_traits_generator.h:941
Definition: absolute.h:37
size_of
Definition: type_traits_generator.h:1572