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

Classes

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::larger_uint_type< T >
struct  etl::larger_type< T, IS_SIGNED >
struct  etl::largest< T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16 >
struct  largest_alignment< T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16 >
struct  largest< T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16 >
struct  largest_type< T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16 >

Detailed Description


Class Documentation

◆ 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 '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::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.

Public Types

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::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.

◆ 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

◆ largest_alignment

struct 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 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

◆ largest

struct 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 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

◆ largest_type

struct 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 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 '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