ADTF
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
DecoderElementAccess< AccessType >

A element access type concept template to retrieve element information from the AccessType and get the element value. More...

#include <codec_iterator.h>

Inheritance diagram for DecoderElementAccess< AccessType >:
[legend]

Public Types

using access_type = AccessType
 access type in use
 
using self_type = DecoderElementAccess<AccessType>
 self type
 
using element_type = DecoderElement<self_type, ChildElements<self_type>>
 supported element type
 
- Public Types inherited from FactoryElementAccess< AccessType >
using access_type = AccessType
 The access type (CodecFactory, Codec, Decoder, etc.)
 
using self_type = FactoryElementAccess<AccessType>
 self type
 
using element_type = FactoryElement<self_type, ChildElements<self_type>>
 element type
 

Static Public Member Functions

static element_type getElement (access_type &access, const std::string &full_element_name)
 Get a element object for the given full_element_name.
 
static element_type getElement (access_type &access, const CodecIndex &index)
 Get a element object for the given index.
 
template<typename T>
static T getValue (access_type &access, const CodecIndex &index)
 Get the value as type T.
 
static a_util::variant::Variant getVariantValue (access_type &access, const CodecIndex &index)
 Get the value as variant.
 
static std::string getStringValue (access_type &access, const CodecIndex &index)
 Get the value as type string.
 
static void getRawValue (access_type &access, const CodecIndex &index, void *value, size_t value_size)
 Get the value by copy to the given value buffer.
 
static const void * getAddress (access_type &access, const CodecIndex &index)
 Get the address of the element.
 
- Static Public Member Functions inherited from FactoryElementAccess< AccessType >
static element_type getElement (access_type &access, const std::string &full_element_name)
 Get a element object for the given full_element_name.
 
static element_type getElement (access_type &access, const CodecIndex &index)
 Get a element object for the given index.
 
static size_t getChildCount (access_type &access, const CodecIndex &index)
 Get the Child Count.
 
static std::string getFullName (access_type &access, const CodecIndex &index)
 Get the full name of the element within its main structure.
 
static std::string getName (access_type &access, const CodecIndex &index)
 Get the name of the element within its level structure.
 
static std::string getBaseName (access_type &access, const CodecIndex &index)
 Get the name of the element within its level structure.
 
static void resolve (access_type &access, CodecIndex &index)
 Resolves the given CodecIndex and set the layout information.
 

Detailed Description

template<typename AccessType>
class ddl::codec::DecoderElementAccess< AccessType >

A element access type concept template to retrieve element information from the AccessType and get the element value.

This class is to retrieve common information of the element and get the element value content.

See also
DecoderElement.
Template Parameters
AccessTypeThe AccessType for the element (Codec, Decoder, etc. )

Definition at line 834 of file codec_iterator.h.

Member Typedef Documentation

◆ access_type

template<typename AccessType>
using access_type = AccessType

access type in use

Definition at line 836 of file codec_iterator.h.

◆ element_type

template<typename AccessType>
using element_type = DecoderElement<self_type, ChildElements<self_type>>

supported element type

Definition at line 839 of file codec_iterator.h.

◆ self_type

template<typename AccessType>
using self_type = DecoderElementAccess<AccessType>

self type

Definition at line 837 of file codec_iterator.h.

Member Function Documentation

◆ getAddress()

template<typename AccessType>
static const void * getAddress ( access_type & access,
const CodecIndex & index )
inlinestatic

Get the address of the element.

Parameters
accessdefined access type.
indexThe codec index.
Returns
const void*

Definition at line 925 of file codec_iterator.h.

◆ getElement() [1/2]

template<typename AccessType>
static element_type getElement ( access_type & access,
const CodecIndex & index )
inlinestatic

Get a element object for the given index.

Parameters
accessdefined access type.
indexThe codec index.
Returns
element_type

Definition at line 860 of file codec_iterator.h.

◆ getElement() [2/2]

template<typename AccessType>
static element_type getElement ( access_type & access,
const std::string & full_element_name )
inlinestatic

Get a element object for the given full_element_name.

Parameters
accessdefined access type.
full_element_nameThe full name of the element in point notation (i.e. "element1.child_element[4].element_value").
Returns
element_type

Definition at line 849 of file codec_iterator.h.

◆ getRawValue()

template<typename AccessType>
static void getRawValue ( access_type & access,
const CodecIndex & index,
void * value,
size_t value_size )
inlinestatic

Get the value by copy to the given value buffer.

Parameters
accessdefined access type.
indexThe codec index.
valuethe value buffer pointer.
value_sizethe size of the value buffer in bytes.

Definition at line 911 of file codec_iterator.h.

◆ getStringValue()

template<typename AccessType>
static std::string getStringValue ( access_type & access,
const CodecIndex & index )
inlinestatic

Get the value as type string.

Parameters
accessdefined access type.
indexThe codec index.
Returns
value as string, it is set to the enums element name in case of enum type
See also
getElementStringValue

Definition at line 899 of file codec_iterator.h.

◆ getValue()

template<typename AccessType>
template<typename T>
static T getValue ( access_type & access,
const CodecIndex & index )
inlinestatic

Get the value as type T.

Parameters
accessdefined access type.
indexThe codec index.
Template Parameters
TType of the value to return
Returns
value in type T (supported types: all int types, bool, float, double, std::string)
Remarks
for T = std::string the value is returned as element name in case of enum type
See also
getElementValue

Definition at line 875 of file codec_iterator.h.

◆ getVariantValue()

template<typename AccessType>
static a_util::variant::Variant getVariantValue ( access_type & access,
const CodecIndex & index )
inlinestatic

Get the value as variant.

Parameters
accessdefined access type.
indexThe codec index.
Returns
value as variant converted from elements type
See also
getElementVariantValue

Definition at line 887 of file codec_iterator.h.