ADTF
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
ddl::access_element Namespace Reference

definition of the access_element namespace (codecs) More...

Classes

class  StructElementLegacy
 Legacy helper for the ddl::StructElement. More...
 

Functions

template<typename T>
a_util::result::Result findIndex (const T &decoder, const std::string &element_name, size_t &index)
 find the index of an element by name.
 
template<typename T>
a_util::result::Result findStructIndex (const T &decoder, const std::string &struct_name, size_t &index)
 find the index of the first element of a sub-structure by name.
 
template<typename T>
a_util::result::Result findArrayIndex (const T &decoder, const std::string &array_name, size_t &index)
 find the index of the first element of an array by name.
 
template<typename T>
a_util::result::Result findArrayEndIndex (const T &decoder, const std::string &array_name, size_t &index)
 find the index of the first element after an array by name.
 
template<typename T>
a_util::result::Result getValue (const T &decoder, const std::string &element_name, void *value)
 Get the value of an element by name.
 
template<typename T>
a_util::result::Result setValue (T &codec, const std::string &element_name, const void *value)
 Set the value of an element by name.
 
template<typename T>
a_util::variant::Variant getValue (const T &decoder, const std::string &element_name)
 Get the value of an element by name.
 
template<typename T>
a_util::result::Result setValue (T &codec, const std::string &element_name, const a_util::variant::Variant &value)
 Set the value of an element by name.
 
template<typename T>
a_util::variant::Variant getValue (const T &decoder, size_t element_index)
 Get the value of an element by index.
 
template<typename T>
const void * getValueAddress (const T &decoder, const std::string &element_name)
 Get a pointer to an element by name.
 
template<typename T>
void * getValueAddress (T &codec, const std::string &element_name)
 Get a pointer to an element by name.
 
template<typename STRUCT, typename T>
const STRUCT * getStructAddress (const T &decoder, const std::string &struct_name)
 Get a pointer to a sub-structure by name.
 
template<typename STRUCT, typename T>
STRUCT * getStructAddress (T &codec, const std::string &struct_name)
 Get a pointer to a sub-structure by name.
 
template<typename T, typename CODEC>
a_util::result::Result getStructValue (const CODEC &decoder, const std::string &struct_name, T *struct_value)
 Copy a sub-structure out of the structure.
 
template<typename T, typename CODEC>
a_util::result::Result setStructValue (CODEC &codec, const std::string &struct_name, const T *struct_value)
 Copy a sub-structure into the structure.
 
template<typename ARRAY_TYPE, typename T>
const ARRAY_TYPE * getArrayAddress (const T &decoder, const std::string &array_name)
 Get a pointer to an array by name.
 
template<typename ARRAY_TYPE, typename T>
ARRAY_TYPE * getArrayAddress (T &codec, const std::string &array_name)
 Get a pointer to an array by name.
 
template<typename CODEC>
a_util::result::Result getArray (const CODEC &decoder, const std::string &array_name, const void *&start_address, size_t &size)
 Get information about an array.
 
template<typename T, typename CODEC>
a_util::result::Result getArrayValue (const CODEC &decoder, const std::string &array_name, T *array_value)
 Copy an array out of the structure.
 
template<typename T>
a_util::result::Result reset (T &codec, const std::string &element_name)
 Set the value of the requested element to zero.
 
template<typename T>
std::string getValueAsString (const T &decoder, size_t element_index)
 Get the value of an element as a string, using enum value names if available.
 
template<typename T>
std::string getValueAsString (const T &decoder, const std::string &element_name)
 Get the value of an element as a string, using enum value names if available.
 
 _MAKE_RESULT (-20, ERR_STRUCT_ELEMENT_NOT_FOUND)
 Creates an a_util error ERR_AUTIL_NOT_FOUND.
 

Detailed Description

definition of the access_element namespace (codecs)

Function Documentation

◆ findArrayEndIndex()

template<typename T>
a_util::result::Result findArrayEndIndex ( const T & decoder,
const std::string & array_name,
size_t & index )

find the index of the first element after an array by name.

Parameters
[in]decoderThe decoder or factory.
[in]array_nameThe name of the array.
[out]indexThe index of the found element.
Return values
ERR_NOT_FOUNDNo element with the requested name was found.

Definition at line 161 of file workspace/conan/dev_essential/1.5.0/dw/stable/package/aef85909f792a5a628750d25016a24323084963f/include/ddl/codec/legacy/access_element.h.

References a_util::strings::compare(), and StructElement::name.

Referenced by getArray().

◆ findArrayIndex()

template<typename T>
a_util::result::Result findArrayIndex ( const T & decoder,
const std::string & array_name,
size_t & index )

find the index of the first element of an array by name.

Parameters
[in]decoderThe decoder or factory.
[in]array_nameThe name of the array.
[out]indexThe index of the found element.
Return values
ERR_NOT_FOUNDNo element with the requested name was found.

Definition at line 146 of file workspace/conan/dev_essential/1.5.0/dw/stable/package/aef85909f792a5a628750d25016a24323084963f/include/ddl/codec/legacy/access_element.h.

Referenced by getArray(), and getArrayAddress().

◆ findIndex()

template<typename T>
a_util::result::Result findIndex ( const T & decoder,
const std::string & element_name,
size_t & index )

find the index of an element by name.

Parameters
[in]decoderThe decoder or factory.
[in]element_nameThe name of the element.
[in,out]indexThe index of the found element. Unchanged if index is not found.
Returns
SUCCESS if index found, ERR_NOT_FOUND otherwise.

Definition at line 107 of file workspace/conan/dev_essential/1.5.0/dw/stable/package/aef85909f792a5a628750d25016a24323084963f/include/ddl/codec/legacy/access_element.h.

References StructElement::name, and RETURN_ERROR_DESCRIPTION.

Referenced by getValue(), getValue(), getValueAddress(), getValueAsString(), reset(), setValue(), and setValue().

◆ findStructIndex()

template<typename T>
a_util::result::Result findStructIndex ( const T & decoder,
const std::string & struct_name,
size_t & index )

find the index of the first element of a sub-structure by name.

Parameters
[in]decoderThe decoder or factory.
[in]struct_nameThe name of the sub-structure.
[out]indexThe index of the found element.
Return values
ERR_NOT_FOUNDNo element with the requested name was found.

Definition at line 131 of file workspace/conan/dev_essential/1.5.0/dw/stable/package/aef85909f792a5a628750d25016a24323084963f/include/ddl/codec/legacy/access_element.h.

Referenced by getStructAddress(), and getStructAddress().

◆ getArray()

template<typename CODEC>
a_util::result::Result getArray ( const CODEC & decoder,
const std::string & array_name,
const void *& start_address,
size_t & size )

Get information about an array.

Parameters
[in]decoderThe decoder.
[in]array_nameThe name of the array.
[out]start_addressThe address of the first element of the array.
[out]sizeThe byte size of all elements of that array.
Return values
ERR_NOT_FOUNDNo array with the requested name was found.

Definition at line 416 of file workspace/conan/dev_essential/1.5.0/dw/stable/package/aef85909f792a5a628750d25016a24323084963f/include/ddl/codec/legacy/access_element.h.

References findArrayEndIndex(), findArrayIndex(), and RETURN_ERROR_DESCRIPTION.

Referenced by getArrayValue().

◆ getArrayAddress() [1/2]

template<typename ARRAY_TYPE, typename T>
const ARRAY_TYPE * getArrayAddress ( const T & decoder,
const std::string & array_name )

Get a pointer to an array by name.

Parameters
[in]decoderThe decoder.
[in]array_nameThe name of the array.
Returns
Address of the array.

Definition at line 380 of file workspace/conan/dev_essential/1.5.0/dw/stable/package/aef85909f792a5a628750d25016a24323084963f/include/ddl/codec/legacy/access_element.h.

References adtf_ddl::access_element::find_array_index().

◆ getArrayAddress() [2/2]

template<typename ARRAY_TYPE, typename T>
ARRAY_TYPE * getArrayAddress ( T & codec,
const std::string & array_name )

Get a pointer to an array by name.

Parameters
[in]codecThe codec.
[in]array_nameThe name of the array.
Returns
Address of the array.

Definition at line 397 of file workspace/conan/dev_essential/1.5.0/dw/stable/package/aef85909f792a5a628750d25016a24323084963f/include/ddl/codec/legacy/access_element.h.

References findArrayIndex().

◆ getArrayValue()

template<typename T, typename CODEC>
a_util::result::Result getArrayValue ( const CODEC & decoder,
const std::string & array_name,
T * array_value )

Copy an array out of the structure.

Parameters
[in]decoderThe decoder.
[in]array_nameThe name of the array.
[out]array_valueThe location the array will be copied to.
Return values
ERR_NOT_FOUNDNo array with the requested name was found.

Definition at line 458 of file workspace/conan/dev_essential/1.5.0/dw/stable/package/aef85909f792a5a628750d25016a24323084963f/include/ddl/codec/legacy/access_element.h.

References a_util::memory::copy(), and getArray().

◆ getStructAddress() [1/2]

template<typename STRUCT, typename T>
const STRUCT * getStructAddress ( const T & decoder,
const std::string & struct_name )

Get a pointer to a sub-structure by name.

Parameters
[in]decoderThe codec.
[in]struct_nameThe name of the structure.
Returns
Address of the sub-structure.

Definition at line 304 of file workspace/conan/dev_essential/1.5.0/dw/stable/package/aef85909f792a5a628750d25016a24323084963f/include/ddl/codec/legacy/access_element.h.

References findStructIndex().

Referenced by getStructValue(), and setStructValue().

◆ getStructAddress() [2/2]

template<typename STRUCT, typename T>
STRUCT * getStructAddress ( T & codec,
const std::string & struct_name )

Get a pointer to a sub-structure by name.

Parameters
[in]codecThe codec.
[in]struct_nameThe name of the structure.
Returns
Address of the sub-structure.

Definition at line 321 of file workspace/conan/dev_essential/1.5.0/dw/stable/package/aef85909f792a5a628750d25016a24323084963f/include/ddl/codec/legacy/access_element.h.

References findStructIndex().

◆ getStructValue()

template<typename T, typename CODEC>
a_util::result::Result getStructValue ( const CODEC & decoder,
const std::string & struct_name,
T * struct_value )

Copy a sub-structure out of the structure.

Parameters
[in]decoderThe decoder.
[in]struct_nameThe name of the structure.
[out]struct_valueThe location the sub-structure will be copied to.
Return values
ERR_NOT_FOUNDNo structure with the requested name was found.

Definition at line 339 of file workspace/conan/dev_essential/1.5.0/dw/stable/package/aef85909f792a5a628750d25016a24323084963f/include/ddl/codec/legacy/access_element.h.

References a_util::memory::copy(), getStructAddress(), and RETURN_ERROR_DESCRIPTION.

◆ getValue() [1/3]

template<typename T>
a_util::variant::Variant getValue ( const T & decoder,
const std::string & element_name )

Get the value of an element by name.

Parameters
[in]decoderThe decoder.
[in]element_nameThe name of the element.
Return values
Thevalue of the element.

Definition at line 219 of file workspace/conan/dev_essential/1.5.0/dw/stable/package/aef85909f792a5a628750d25016a24323084963f/include/ddl/codec/legacy/access_element.h.

References findIndex().

◆ getValue() [2/3]

template<typename T>
a_util::result::Result getValue ( const T & decoder,
const std::string & element_name,
void * value )

Get the value of an element by name.

Parameters
[in]decoderThe decoder.
[in]element_nameThe name of the element.
[out]valueThe location where the value should be copied to.
Return values
ERR_NOT_FOUNDNo element with the requested name was found.

Definition at line 190 of file workspace/conan/dev_essential/1.5.0/dw/stable/package/aef85909f792a5a628750d25016a24323084963f/include/ddl/codec/legacy/access_element.h.

References findIndex().

◆ getValue() [3/3]

template<typename T>
a_util::variant::Variant getValue ( const T & decoder,
size_t element_index )

Get the value of an element by index.

Parameters
[in]decoderThe decoder.
[in]element_indexThe index of the element.
Return values
Thevalue of the element.

Definition at line 253 of file workspace/conan/dev_essential/1.5.0/dw/stable/package/aef85909f792a5a628750d25016a24323084963f/include/ddl/codec/legacy/access_element.h.

◆ getValueAddress() [1/2]

template<typename T>
const void * getValueAddress ( const T & decoder,
const std::string & element_name )

Get a pointer to an element by name.

Parameters
[in]decoderThe decoder.
[in]element_nameThe name of the element.
Returns
Address of the element.

Definition at line 270 of file workspace/conan/dev_essential/1.5.0/dw/stable/package/aef85909f792a5a628750d25016a24323084963f/include/ddl/codec/legacy/access_element.h.

References adtf_ddl::access_element::find_index().

◆ getValueAddress() [2/2]

template<typename T>
void * getValueAddress ( T & codec,
const std::string & element_name )

Get a pointer to an element by name.

Parameters
[in]codecThe codec.
[in]element_nameThe name of the element.
Returns
Address of the element.

Definition at line 287 of file workspace/conan/dev_essential/1.5.0/dw/stable/package/aef85909f792a5a628750d25016a24323084963f/include/ddl/codec/legacy/access_element.h.

References findIndex().

◆ getValueAsString() [1/2]

template<typename T>
std::string getValueAsString ( const T & decoder,
const std::string & element_name )

Get the value of an element as a string, using enum value names if available.

Parameters
[in]decoderThe decoder.
[in]element_nameThe name of the element.
Returns
A string representation of the value.

Definition at line 547 of file workspace/conan/dev_essential/1.5.0/dw/stable/package/aef85909f792a5a628750d25016a24323084963f/include/ddl/codec/legacy/access_element.h.

References findIndex(), and getValueAsString().

◆ getValueAsString() [2/2]

template<typename T>
std::string getValueAsString ( const T & decoder,
size_t element_index )

Get the value of an element as a string, using enum value names if available.

Parameters
[in]decoderThe decoder.
[in]element_indexThe index of the element.
Returns
A string representation of the value.

Definition at line 511 of file workspace/conan/dev_essential/1.5.0/dw/stable/package/aef85909f792a5a628750d25016a24323084963f/include/ddl/codec/legacy/access_element.h.

References Variant::asString(), DDL_GET_ENUM_CASE, and Variant::getType().

Referenced by getValueAsString().

◆ reset()

template<typename T>
a_util::result::Result reset ( T & codec,
const std::string & element_name )

Set the value of the requested element to zero.

Parameters
[in]codecThe codec.
[in]element_nameThe name of the element.
Return values
NOT_FOUNDNo element with the requested name was found.

Definition at line 479 of file workspace/conan/dev_essential/1.5.0/dw/stable/package/aef85909f792a5a628750d25016a24323084963f/include/ddl/codec/legacy/access_element.h.

References findIndex().

◆ setStructValue()

template<typename T, typename CODEC>
a_util::result::Result setStructValue ( CODEC & codec,
const std::string & struct_name,
const T * struct_value )

Copy a sub-structure into the structure.

Parameters
[in]codecThe codec.
[in]struct_nameThe name of the structure.
[in]struct_valueThe location the sub-structure will be copied from.
Return values
ERR_NOT_FOUNDNo structure with the requested name was found.

Definition at line 360 of file workspace/conan/dev_essential/1.5.0/dw/stable/package/aef85909f792a5a628750d25016a24323084963f/include/ddl/codec/legacy/access_element.h.

References a_util::memory::copy(), getStructAddress(), and RETURN_ERROR_DESCRIPTION.

◆ setValue() [1/2]

template<typename T>
a_util::result::Result setValue ( T & codec,
const std::string & element_name,
const a_util::variant::Variant & value )

Set the value of an element by name.

Parameters
[in]codecThe codec.
[in]element_nameThe name of the element.
[in]valueThe new value.
Return values
ERR_NOT_FOUNDNo element with the requested name was found.

Definition at line 237 of file workspace/conan/dev_essential/1.5.0/dw/stable/package/aef85909f792a5a628750d25016a24323084963f/include/ddl/codec/legacy/access_element.h.

References findIndex().

◆ setValue() [2/2]

template<typename T>
a_util::result::Result setValue ( T & codec,
const std::string & element_name,
const void * value )

Set the value of an element by name.

Parameters
[in]codecThe codec.
[in]element_nameThe name of the element.
[in]valueThe location where the value should be copied from.
Return values
ERR_NOT_FOUNDNo element with the requested name was found.

Definition at line 205 of file workspace/conan/dev_essential/1.5.0/dw/stable/package/aef85909f792a5a628750d25016a24323084963f/include/ddl/codec/legacy/access_element.h.

References findIndex().