Dev Essential
Loading...
Searching...
No Matches
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)
 
template<typename T>
a_util::result::Result findStructIndex (const T &decoder, const std::string &struct_name, size_t &index)
 
template<typename T>
a_util::result::Result findArrayIndex (const T &decoder, const std::string &array_name, size_t &index)
 
template<typename T>
a_util::result::Result findArrayEndIndex (const T &decoder, const std::string &array_name, size_t &index)
 
template<typename T>
a_util::result::Result getValue (const T &decoder, const std::string &element_name, void *value)
 
template<typename T>
a_util::result::Result setValue (T &codec, const std::string &element_name, const void *value)
 
template<typename T>
a_util::variant::Variant getValue (const T &decoder, const std::string &element_name)
 
template<typename T>
a_util::result::Result setValue (T &codec, const std::string &element_name, const a_util::variant::Variant &value)
 
template<typename T>
a_util::variant::Variant getValue (const T &decoder, size_t element_index)
 
template<typename T>
const void * getValueAddress (const T &decoder, const std::string &element_name)
 
template<typename T>
void * getValueAddress (T &codec, const std::string &element_name)
 
template<typename STRUCT, typename T>
const STRUCT * getStructAddress (const T &decoder, const std::string &struct_name)
 
template<typename STRUCT, typename T>
STRUCT * getStructAddress (T &codec, const std::string &struct_name)
 
template<typename T, typename CODEC>
a_util::result::Result getStructValue (const CODEC &decoder, const std::string &struct_name, T *struct_value)
 
template<typename T, typename CODEC>
a_util::result::Result setStructValue (CODEC &codec, const std::string &struct_name, const T *struct_value)
 
template<typename ARRAY_TYPE, typename T>
const ARRAY_TYPE * getArrayAddress (const T &decoder, const std::string &array_name)
 
template<typename ARRAY_TYPE, typename T>
ARRAY_TYPE * getArrayAddress (T &codec, const std::string &array_name)
 
template<typename CODEC>
a_util::result::Result getArray (const CODEC &decoder, const std::string &array_name, const void *&start_address, size_t &size)
 
template<typename T, typename CODEC>
a_util::result::Result getArrayValue (const CODEC &decoder, const std::string &array_name, T *array_value)
 
template<typename T>
a_util::result::Result reset (T &codec, const std::string &element_name)
 
template<typename T>
std::string getValueAsString (const T &decoder, size_t element_index)
 
template<typename T>
std::string getValueAsString (const T &decoder, const std::string &element_name)
 
 _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 ddl::access_element::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.

◆ findArrayIndex()

template<typename T>
a_util::result::Result ddl::access_element::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.

◆ findIndex()

template<typename T>
a_util::result::Result ddl::access_element::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.

◆ findStructIndex()

template<typename T>
a_util::result::Result ddl::access_element::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.

◆ getArray()

template<typename CODEC>
a_util::result::Result ddl::access_element::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.

◆ getArrayAddress() [1/2]

template<typename ARRAY_TYPE, typename T>
const ARRAY_TYPE * ddl::access_element::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.

◆ getArrayAddress() [2/2]

template<typename ARRAY_TYPE, typename T>
ARRAY_TYPE * ddl::access_element::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.

◆ getArrayValue()

template<typename T, typename CODEC>
a_util::result::Result ddl::access_element::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.

◆ getStructAddress() [1/2]

template<typename STRUCT, typename T>
const STRUCT * ddl::access_element::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.

◆ getStructAddress() [2/2]

template<typename STRUCT, typename T>
STRUCT * ddl::access_element::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.

◆ getStructValue()

template<typename T, typename CODEC>
a_util::result::Result ddl::access_element::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.

◆ getValue() [1/3]

template<typename T>
a_util::variant::Variant ddl::access_element::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.

◆ getValue() [2/3]

template<typename T>
a_util::result::Result ddl::access_element::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.

◆ getValue() [3/3]

template<typename T>
a_util::variant::Variant ddl::access_element::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.

◆ getValueAddress() [1/2]

template<typename T>
const void * ddl::access_element::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.

◆ getValueAddress() [2/2]

template<typename T>
void * ddl::access_element::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.

◆ getValueAsString() [1/2]

template<typename T>
std::string ddl::access_element::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.

◆ getValueAsString() [2/2]

template<typename T>
std::string ddl::access_element::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.

◆ reset()

template<typename T>
a_util::result::Result ddl::access_element::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.

◆ setStructValue()

template<typename T, typename CODEC>
a_util::result::Result ddl::access_element::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.

◆ setValue() [1/2]

template<typename T>
a_util::result::Result ddl::access_element::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.

◆ setValue() [2/2]

template<typename T>
a_util::result::Result ddl::access_element::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.