ADTF  3.18.2
stream_meta_type_plain

Use this Stream Meta Type if your sample data will be any of this type: bool, uint8_t, int8_t, uint16_t, int16_t, uint32_t, int32_t, uint64_t, int64_t, float, double or plain array T[], std::array, std::vector of them. More...

Inheritance diagram for stream_meta_type_plain:
[legend]

Static Public Member Functions

static void SetProperties (const adtf::ucom::iobject_ptr< adtf::base::IProperties > &pProperties)
 Property setter for plaintype.
 
static tResult IsCompatible (const adtf::streaming::IStreamType &oTypeToCheck, const adtf::streaming::IStreamType &oTypeExpected)
 Compares the oTypeExpected Stream Type with the oTypeToCheck - see Default Stream Meta Types in ADTF for a summary of implementations. More...
 
- Static Public Member Functions inherited from stream_meta_type_plain
static void SetProperties (const adtf::ucom::iobject_ptr< adtf::base::IProperties > &pProperties)
 Property setter for plaintype.
 
static tResult IsCompatible (const adtf::streaming::IStreamType &oTypeToCheck, const adtf::streaming::IStreamType &oTypeExpected)
 Compares the oTypeExpected Stream Type with the oTypeToCheck - see Default Stream Meta Types in ADTF for a summary of implementations. More...
 

Static Public Attributes

static constexpr const char *const ArraySize = "array_size"
 Array size for the used type. More...
 
static constexpr const char *const DataEndianess = "data_endianess"
 Identify the endianess of the content. More...
 
- Static Public Attributes inherited from stream_meta_type_plain
static constexpr const tChar *const MetaTypeName = "adtf/plaintype"
 StreamMetaTypeName for plaintype.
 
static constexpr const tChar *const PlainTypeProperty = "c-type"
 c-type Property for plaintype Stream Meta Type More...
 

Detailed Description

Use this Stream Meta Type if your sample data will be any of this type: bool, uint8_t, int8_t, uint16_t, int16_t, uint32_t, int32_t, uint64_t, int64_t, float, double or plain array T[], std::array, std::vector of them.

Concept template to create the "adtf/plaintype" Stream Meta Type for the generator template stream_meta_type.

See also
Stream Meta Type

Definition at line 228 of file streammetatypeplain.h.

Member Function Documentation

◆ IsCompatible()

static tResult IsCompatible ( const adtf::streaming::IStreamType oTypeToCheck,
const adtf::streaming::IStreamType oTypeExpected 
)
inlinestatic

Compares the oTypeExpected Stream Type with the oTypeToCheck - see Default Stream Meta Types in ADTF for a summary of implementations.

Compatible to all other stream types of any Stream Meta Type, where the following conditions are met:

Remarks
: For a complete definition of the delivered default types and the information of which Stream Type is compatible to another one then see Default Stream Meta Types in ADTF.
Parameters
[in]oTypeToCheckThe incoming type to check.
[in]oTypeExpectedThe expected type which values are more significant.
Return values
ERR_NOERRORtypes are compatible
See also
Default Stream Meta Types in ADTF, AcceptType and IsCompatible implementations.

Definition at line 276 of file streammetatypeplain.h.

References stream_meta_type_plain::ArraySize, stream_meta_type_plain::DataEndianess, IStreamType::GetConfig(), stream_meta_type_plain::PlainTypeProperty, PLATFORM_LITTLE_ENDIAN_8, RETURN_ERROR_DESC, RETURN_IF_FAILED, and RETURN_NOERROR.

Member Data Documentation

◆ ArraySize

constexpr const char* const ArraySize = "array_size"
staticconstexpr

Array size for the used type.

Array size for the used type is only relevant for array types:

  • for single arithmetic type (bool, all ints, float, double) the value is 1
  • for dynamic arrays (i.e. std::vector<bool>, all ints, float, double) the value is 0 (content is dynamic)
  • for static arrays (i.e std::array<bool, N>, all ints, float, double) the value is N (content is fixed array size)

Definition at line 237 of file streammetatypeplain.h.

Referenced by stream_type_plain< T >::stream_type_plain(), stream_meta_type_plain::IsCompatible(), and stream_meta_type_plain::SetProperties().

◆ DataEndianess

constexpr const char* const DataEndianess = "data_endianess"
staticconstexpr

Identify the endianess of the content.

This is relevant for all value types greater than 1 byte.

The endianess of the content is relevant for all value types greater than 1 byte and is only set if current platform endianess is different to PLATFORM_LITTLE_ENDIAN_8.

Definition at line 244 of file streammetatypeplain.h.

Referenced by stream_type_plain< T >::stream_type_plain(), stream_meta_type_plain::IsCompatible(), and stream_meta_type_plain::SetProperties().