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_USING_CPP11 && !defined(ETL_LARGEST_TYPE_FORCE_CPP03_IMPLEMENTATION)
73 template <
typename T1,
typename... TRest>
79 using largest_other =
typename largest_type<TRest...>::type;
100 template <
typename T1>
101 class largest_type<T1>
114 template <
typename... T>
115 using largest_type_t =
typename largest_type<T...>::type;
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_USING_CPP11 && !defined(ETL_LARGEST_ALIGNMENT_FORCE_CPP03_IMPLEMENTATION)
176 template <
typename T1,
typename... TRest>
199 template <
typename T1>
200 struct largest_alignment<T1>
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>
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
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>
323 template <
typename T>
324 using larger_type_t =
typename larger_type<T>::type;
327#if ETL_USING_CPP11 && !defined(ETL_LARGEST_FORCE_CPP03_IMPLEMENTATION)
333 template <
typename... T>
346 template <
typename... T>
347 using largest_t =
typename largest<T...>::type;
351 template <
typename... T>
352 inline constexpr size_t largest_size = largest<T...>::size;
362 template <
typename T1,
typename T2 = void,
typename T3 = void,
typename T4 = void,
363 typename T5 = void,
typename T6 = void,
typename T7 = void,
typename T8 = void,
364 typename T9 = void,
typename T10 = void,
typename T11 = void,
typename T12 = void,
365 typename T13 = void,
typename T14 = void,
typename T15 = void,
typename T16 =
void>
368 typedef typename etl::largest_type<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16>::type type;
372 size =
etl::largest_type<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16>::size,
373 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:367
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:352
Template to determine the smallest unsigned int type that can contain a value with the specified numb...
Definition: smallest_generator.h:323
add_rvalue_reference
Definition: type_traits_generator.h:1327
conditional
Definition: type_traits_generator.h:1160
is_integral
Definition: type_traits_generator.h:1001
bitset_ext
Definition: absolute.h:38
size_of
Definition: type_traits_generator.h:1551