ADTF
Loading...
Searching...
No Matches
access_element.h File Reference
#include <a_util/result.h>
#include <a_util/strings.h>
#include <ddl/codec/legacy/codec_factory_legacy.h>
#include <ddl/codec/legacy/struct_element.h>
#include <type_traits>
Include dependency graph for access_element.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  ddl
 definition of the ddl namespace
 
namespace  ddl::access_element
 definition of the access_element namespace (codecs)
 

Macros

#define DDL_GET_ENUM_CASE(__variant_type, __data_type)
 For internal use only.
 

Functions

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

Detailed Description

Access Element legacy API header for old legacy Codec API.

Macro Definition Documentation

◆ DDL_GET_ENUM_CASE

#define DDL_GET_ENUM_CASE ( __variant_type,
__data_type )
Value:
case a_util::variant::VT_##__variant_type: { \
__data_type xValue = value.get##__variant_type(); \
for (AccessEnumType::const_iterator it = element->p_enum->begin(); \
it != element->p_enum->end(); \
++it) { \
if (xValue == it->second.as##__variant_type()) { \
return it->first; \
} \
} \
break; \
}

For internal use only.