Embedded Template Library 1.0
Loading...
Searching...
No Matches
largest

Classes

struct  etl::larger_uint_type< T >
 Defines a type that is as larger or larger than the specified type. Will return the specified type is there is not a larger type. More...
 
struct  etl::larger_type< T, IS_SIGNED >
 Defines a type that is as larger or larger than the specified type. Will return the specified type is there is not a larger type. The returned type will be of the same sign. More...
 
struct  etl::largest_type< T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16 >
 
struct  etl::largest_alignment< T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16 >
 
struct  etl::largest< T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16 >
 

Detailed Description


Class Documentation

◆ etl::larger_uint_type

struct etl::larger_uint_type
template<typename T>
struct etl::larger_uint_type< T >

Defines a type that is as larger or larger than the specified type. Will return the specified type is there is not a larger type.

Defines a type that is as larger or larger than the specified type. Will return the specified type is there is not a larger type.

Public Types

typedef etl::smallest_uint_for_bits< etl::integral_limits< typenameetl::make_unsigned< T >::type >::bits+1 >::type type
 
typedef etl::smallest_uint_for_bits< etl::integral_limits< typenameetl::make_unsigned< T >::type >::bits+1 >::type type
 

Public Member Functions

 ETL_STATIC_ASSERT (etl::is_integral< T >::value, "Must be an integral type")
 
 ETL_STATIC_ASSERT (etl::is_integral< T >::value, "Must be an integral type")
 

◆ etl::larger_type

struct etl::larger_type
template<typename T, bool IS_SIGNED = etl::is_signed<T>::value>
struct etl::larger_type< T, IS_SIGNED >

Defines a type that is as larger or larger than the specified type. Will return the specified type is there is not a larger type. The returned type will be of the same sign.

Defines a type that is as larger or larger than the specified type. Will return the specified type is there is not a larger type. The returned type will be of the same sign.

◆ etl::largest_type

struct etl::largest_type
template<typename T1, typename T2 = void, typename T3 = void, typename T4 = void, typename T5 = void, typename T6 = void, typename T7 = void, typename T8 = void, typename T9 = void, typename T10 = void, typename T11 = void, typename T12 = void, typename T13 = void, typename T14 = void, typename T15 = void, typename T16 = void>
struct etl::largest_type< T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16 >

Template to determine the largest type and size. Supports up to 16 types. Defines 'value_type' which is the type of the largest parameter. Defines 'size' which is the size of the largest parameter.

Public Types

enum  { size = sizeof(type) }
 
typedef largest_type< T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16 >::type largest_other
 
typedef etl::conditional<(sizeof(T1) > sizeof(largest_other)), T1, largest_other > ::type type
 

◆ etl::largest_alignment

struct etl::largest_alignment
template<typename T1, typename T2 = void, typename T3 = void, typename T4 = void, typename T5 = void, typename T6 = void, typename T7 = void, typename T8 = void, typename T9 = void, typename T10 = void, typename T11 = void, typename T12 = void, typename T13 = void, typename T14 = void, typename T15 = void, typename T16 = void>
struct etl::largest_alignment< T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16 >

Template to determine the largest alignment. Supports up to 16 types. Defines value which is the largest alignment of all the parameters.

Public Types

enum  { value = etl::alignment_of<type>::value }
 
typedef largest_alignment< T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16 >::type largest_other
 
typedef etl::conditional<(etl::alignment_of< T1 >::value > etl::alignment_of< largest_other >::value), T1, largest_other > ::type type
 

◆ etl::largest

struct etl::largest
template<typename T1, typename T2 = void, typename T3 = void, typename T4 = void, typename T5 = void, typename T6 = void, typename T7 = void, typename T8 = void, typename T9 = void, typename T10 = void, typename T11 = void, typename T12 = void, typename T13 = void, typename T14 = void, typename T15 = void, typename T16 = void>
struct etl::largest< T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16 >

Template to determine the largest type, size and alignment. Supports up to 16 types. Defines value which is the largest type, size and alignment of all the parameters.

Public Types

enum  { size = etl::largest_type<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16>::size , alignment = etl::largest_alignment<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16>::value }
 
typedef etl::largest_type< T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16 >::type type