ADTF
Loading...
Searching...
No Matches
dd_struct_access.h File Reference
#include <ddl/dd/datamodel/datamodel_datadefinition.h>
#include <cstddef>
#include <functional>
#include <string>
Include dependency graph for dd_struct_access.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  ddl::dd::StructElementAccess
 Class to access and obtain the byte position and other information of a instance of this element within a struct (see StructTypeAccess). More...
 
class  ddl::dd::StructArrayElementAccessIterator
 
class  ddl::dd::StructElementAccessIterator
 Iterator to iterate thru the StructTypeAccess. More...
 
class  ddl::dd::StructTypeAccess
 Accessing class for a instance of a struct. This will calculate the byte positions can be used for serialialization and deserialization. More...
 

Namespaces

namespace  ddl
 definition of the ddl namespace
 
namespace  ddl::dd
 definition of the dd namespace
 

Typedefs

using ddl::dd::CallbackStructElementAccess
 Callback function type definitions for struct element access traversal.
 
using ddl::dd::CallbackStructElementAccessControl
 Callback function type definitions for struct element access traversal. The return value indicates if the traversal should continue into the child or further array elements.
 

Functions

void ddl::dd::forEachElementInfix (const StructTypeAccess &parent, const CallbackStructElementAccess &access_leaf_callback, const CallbackStructElementAccessControl &enter_element_member_callback=[](auto &, auto &) { return true;}, const CallbackStructElementAccess &leave_element_member_callback=[](auto &, auto &) {}, const CallbackStructElementAccessControl &enter_array_element_member_callback=[](auto &, auto &) { return true;}, const CallbackStructElementAccess &leave_array_element_member_callback=[](auto &, auto &) {}, bool filter_padding_elements=true)
 Traverse all elements of a struct type access in infix order and calls the callbacks.
 
void ddl::dd::forEachElementInPathInfix (const StructTypeAccess &parent, std::string_view path, const CallbackStructElementAccess &target_element_callback, const CallbackStructElementAccess &enter_element_member_callback=[](auto &, auto &) {}, const CallbackStructElementAccess &leave_element_member_callback=[](auto &, auto &) {}, const CallbackStructElementAccess &enter_array_element_member_callback=[](auto &, auto &) {}, const CallbackStructElementAccess &leave_array_element_member_callback=[](auto &, auto &) {})
 Traverse all elements along a given path in struct type access in infix order and calls the callbacks.
 

Detailed Description

OO DataDefinition Redesign