ADTF  3.14.3
CodecElement< ElementAccessType, ChildElementsType >

A CodecElement to get and set values. More...

Inheritance diagram for CodecElement< ElementAccessType, ChildElementsType >:
[legend]

Public Types

typedef FactoryElement< ElementAccessType, ChildElementsType > factory_base_type
 used base type.
 
typedef DecoderElement< ElementAccessType, ChildElementsType > base_type
 used base type.
 
typedef CodecElement< ElementAccessType, ChildElementsType > self_type
 used self type
 
typedef ElementAccessType::access_type access_type
 The access type from concept.
 
typedef factory_base_type::child_elements_type child_elements_type
 allowed container type.
 
typedef child_elements_type::iterator iterator_type
 allowed iterator type.
 
typedef child_elements_type::const_iterator const_iterator_type
 allowed const iterator type.
 
- Public Types inherited from DecoderElement< ElementAccessType, ChildElements< ElementAccessType > >
typedef FactoryElement< ElementAccessType, ChildElements< ElementAccessType > > base_type
 Used base type.
 
typedef DecoderElement< ElementAccessType, ChildElements< ElementAccessType > > self_type
 Used self type.
 
typedef ElementAccessType::access_type access_type
 Used access type from concept template.
 
typedef base_type::child_elements_type child_elements_type
 allowed container type.
 
typedef child_elements_type::iterator iterator_type
 allowed iterator type.
 
typedef child_elements_type::const_iterator const_iterator_type
 allowed const iterator type.
 
- Public Types inherited from FactoryElement< ElementAccessType, ChildElementsType >
typedef FactoryElement< ElementAccessType, ChildElementsType > self_type
 Used self_type.
 
typedef ElementAccessType::access_type access_type
 Used access_type.
 
typedef ChildElementsType child_elements_type
 The allowed container type.
 
typedef child_elements_type::iterator iterator_type
 The allowed iterator type.
 
typedef child_elements_type::const_iterator const_iterator_type
 The allowed const iterator type.
 

Public Member Functions

 CodecElement ()=delete
 CTOR.
 
 CodecElement (CodecElement &&)=default
 move CTOR
 
CodecElementoperator= (CodecElement &&)=default
 move operator More...
 
 CodecElement (const CodecElement &)=default
 copy CTOR
 
CodecElementoperator= (const CodecElement &)=default
 copy operator More...
 
 ~CodecElement ()=default
 DTOR.
 
template<typename T >
void setValue (const T &value)
 Sets the value from value of type T. More...
 
void setVariantValue (const a_util::variant::Variant &value)
 Sets the value from value as variant. More...
 
void setStringValue (const std::string &value)
 Sets the value from value as string. More...
 
void setRawValue (const void *value, size_t value_size)
 Set the value by copying from a value buffer. More...
 
void reset (bool zero_value=false)
 Reset the elements value to their default values, constant values defined in the data definition or zero if zero_value is set. More...
 
void * getAddress ()
 Get the address (with writing access) More...
 
child_elements_typegetChildElements ()
 
self_type getChildElement (const std::string &name) const
 Get the child element with the given name. More...
 
self_type getChildElement (const std::string &name)
 Get the child element with the given name. More...
 
self_type getArrayElement (size_t array_pos=0) const
 Get the array element of the given array_pos. More...
 
self_type getArrayElement (size_t array_pos=0)
 Get the array element of the given array_pos. More...
 
const void * getAddress () const
 Get the address of the element. More...
 
const child_elements_typegetChildElements () const
 Get the ChildElements. More...
 
- Public Member Functions inherited from DecoderElement< ElementAccessType, ChildElements< ElementAccessType > >
 DecoderElement ()=delete
 CTOR.
 
 DecoderElement (DecoderElement &&)=default
 move CTOR
 
 DecoderElement (const DecoderElement &)=default
 copy CTOR
 
DecoderElementoperator= (DecoderElement &&)=default
 move operator More...
 
DecoderElementoperator= (const DecoderElement &)=default
 copy operator More...
 
 ~DecoderElement ()=default
 DTOR.
 
getValue () const
 Get the value as type T. More...
 
a_util::variant::Variant getVariantValue () const
 Get the value as variant. More...
 
std::string getStringValue () const
 Get the value as string. More...
 
void getRawValue (void *value, size_t value_size) const
 Get the as copy to the valu buffer. More...
 
const void * getAddress () const
 Get the address of the element. More...
 
self_type getChildElement (const std::string &name) const
 Get the child element with the given name. More...
 
self_type getArrayElement (size_t array_pos=0) const
 Get the array element of the given array_pos. More...
 
- Public Member Functions inherited from FactoryElement< ElementAccessType, ChildElementsType >
 FactoryElement ()=delete
 no CTOR
 
 FactoryElement (FactoryElement &&other)
 move CTOR
 
FactoryElementoperator= (FactoryElement &&other)
 copy operator More...
 
 FactoryElement (const FactoryElement &other)
 copy CTOR
 
FactoryElementoperator= (const FactoryElement &other)
 move operator More...
 
 ~FactoryElement ()=default
 DTOR.
 
const CodecIndexgetIndex () const
 Get the codec index of the element. More...
 
size_t getArraySize () const
 Get the array size. More...
 
ddl::codec::ElementType getType () const
 Get the type of the element. More...
 
std::string getFullName () const
 Get the full name of the element. More...
 
std::string getName () const
 Get the name of the element If the element is an array you get the elements array name respresentation: "element_name[0]" or element_name[1] ... More...
 
std::string getBaseName () const
 Get the base name of the element. More...
 
bool isArray () const
 Get array information. More...
 
bool hasChildren () const
 Get children information. More...
 
const child_elements_typegetChildElements () const
 Get the ChildElements. More...
 
self_type getChildElement (const std::string &name) const
 Get the child element with the given name. More...
 
self_type getArrayElement (size_t array_pos=0) const
 Get the array element of the given array_pos. More...
 
bool isValid () const
 Get validation indormation. More...
 

Public Attributes

friend child_elements_type
 
friend iterator_type
 
friend const_iterator_type
 
friend access_type
 
friend base_type
 
friend factory_base_type
 
- Public Attributes inherited from DecoderElement< ElementAccessType, ChildElements< ElementAccessType > >
friend base_type
 
friend access_type
 
friend child_elements_type
 
friend iterator_type
 
friend const_iterator_type
 
friend CodecElement< ElementAccessType, ChildElementsType >
 
- Public Attributes inherited from FactoryElement< ElementAccessType, ChildElementsType >
friend child_elements_type
 
friend iterator_type
 
friend const_iterator_type
 
friend access_type
 
friend DecoderElement< ElementAccessType, ChildElementsType >
 
friend CodecElement< ElementAccessType, ChildElementsType >
 

Private Member Functions

 CodecElement (CodecIndex &&index, size_t end_element_index, size_t child_elements_count, access_type &access)
 
 CodecElement (CodecIndex &&index, size_t end_element_index, access_type &access)
 
 CodecElement (const std::string &element_name, access_type &access)
 
 CodecElement (CodecIndex &&index, access_type &access)
 
 CodecElement (access_type &access)
 
void next ()
 

Detailed Description

template<typename ElementAccessType, typename ChildElementsType = ChildElements<ElementAccessType>>
class ddl::codec::CodecElement< ElementAccessType, ChildElementsType >

A CodecElement to get and set values.

Template Parameters
ElementAccessTypeThe element access concept type. (see concept templates CodecElementAccess)

Definition at line 1241 of file codec_iterator.h.

Member Function Documentation

◆ getAddress() [1/2]

void* getAddress ( )
inline

Get the address (with writing access)

Returns
void*

Definition at line 1386 of file codec_iterator.h.

References FactoryElement< ElementAccessType, ChildElements< ElementAccessType > >::getIndex().

◆ getAddress() [2/2]

const void* getAddress
inline

Get the address of the element.

Returns
const void*

Definition at line 1075 of file codec_iterator.h.

◆ getArrayElement() [1/2]

self_type getArrayElement ( size_t  array_pos = 0)
inline

Get the array element of the given array_pos.

Parameters
array_posThe array pos of the element to retrieve
Returns
self_type

Definition at line 1436 of file codec_iterator.h.

References FactoryElement< ElementAccessType, ChildElements< ElementAccessType > >::getIndex().

◆ getArrayElement() [2/2]

self_type getArrayElement ( size_t  array_pos = 0) const
inline

Get the array element of the given array_pos.

Parameters
array_posThe array pos of the element to retrieve
Returns
self_type

Definition at line 1426 of file codec_iterator.h.

References FactoryElement< ElementAccessType, ChildElements< ElementAccessType > >::getIndex().

◆ getChildElement() [1/2]

self_type getChildElement ( const std::string &  name)
inline

Get the child element with the given name.

Parameters
nameName of the child element.
Returns
self_type

Definition at line 1414 of file codec_iterator.h.

References FactoryElement< ElementAccessType, ChildElements< ElementAccessType > >::getFullName().

◆ getChildElement() [2/2]

self_type getChildElement ( const std::string &  name) const
inline

Get the child element with the given name.

Parameters
nameName of the child element.
Returns
self_type

Definition at line 1401 of file codec_iterator.h.

References FactoryElement< ElementAccessType, ChildElements< ElementAccessType > >::getFullName().

◆ getChildElements()

const child_elements_type& getChildElements
inline

Get the ChildElements.

Returns
child_elements_type
Exceptions
std::runtime_errorif index is invalid

Definition at line 741 of file codec_iterator.h.

◆ operator=() [1/2]

CodecElement& operator= ( CodecElement< ElementAccessType, ChildElementsType > &&  )
default

move operator

Returns
CodecElement&

◆ operator=() [2/2]

CodecElement& operator= ( const CodecElement< ElementAccessType, ChildElementsType > &  )
default

copy operator

Returns
CodecElement&

◆ reset()

void reset ( bool  zero_value = false)
inline

Reset the elements value to their default values, constant values defined in the data definition or zero if zero_value is set.

Parameters
[in]zero_valueset the value to 0 if no constant or default value set in data definition.

Definition at line 1352 of file codec_iterator.h.

References ddl::codec::cet_empty, ddl::codec::cet_sub_codec, ddl::codec::cet_user_type, FactoryElement< ElementAccessType, ChildElements< ElementAccessType > >::getIndex(), CodecIndex::getLayout(), and FactoryElement< ElementAccessType, ChildElements< ElementAccessType > >::getType().

◆ setRawValue()

void setRawValue ( const void *  value,
size_t  value_size 
)
inline

Set the value by copying from a value buffer.

Parameters
[in]valueThe value buffer
[in]value_sizethe size of the value buffer in bytes.

Definition at line 1341 of file codec_iterator.h.

References FactoryElement< ElementAccessType, ChildElements< ElementAccessType > >::getIndex().

◆ setStringValue()

void setStringValue ( const std::string &  value)
inline

Sets the value from value as string.

Parameters
[in]valueThe value to set as string. string will be converted to the elements type.
See also
StaticDecoder::setElementValueString

Definition at line 1332 of file codec_iterator.h.

References FactoryElement< ElementAccessType, ChildElements< ElementAccessType > >::getIndex().

◆ setValue()

void setValue ( const T &  value)
inline

Sets the value from value of type T.

Template Parameters
TType of the value
Parameters
[in]valueThe value in type T
Returns
value in type T (supported types: all int types, bool, float, double, std::string)
Remarks
for T = std::string the value can be set as valid element name in case of enum type otherwise the string is converted
See also
StaticDecoder::setElementValue

Definition at line 1314 of file codec_iterator.h.

References FactoryElement< ElementAccessType, ChildElements< ElementAccessType > >::getIndex().

◆ setVariantValue()

void setVariantValue ( const a_util::variant::Variant value)
inline

Sets the value from value as variant.

Parameters
[in]valueThe value to set as variant
See also
StaticDecoder::setElementValue

Definition at line 1323 of file codec_iterator.h.

References FactoryElement< ElementAccessType, ChildElements< ElementAccessType > >::getIndex().


Copyright © Audi Electronics Venture GmbH. All rights reserved. (Generated on Thu Jun 9 2022 by doxygen 1.9.1)