ADTF
Loading...
Searching...
No Matches
adtf::mediadescription::adtf_ddl_legacy::structure< T > Class Template Reference

#include <type_reflection_legacy.h>

Inherits adtf::mediadescription::flash::cStructureType.

Public Member Functions

 structure (const std::string &strName)
 
template<typename MemberType>
structureAdd (const std::string &strName, MemberType T::*pMemberOffset)
 
template<typename MemberType>
structureAdd (const std::string &strName, MemberType T::*pMemberOffset, const cEnumerationType &oTypeDefinition)
 
template<typename MemberType>
structureAdd (const std::string &strName, MemberType T::*pMemberOffset, const cStructureType &oTypeDefinition)
 
- Public Member Functions inherited from adtf::mediadescription::flash::cStructureType
 cStructureType (const std::string &strName, size_t nSize, size_t nAlignment)
 
 cStructureType (const cStructureType &oOther)
 
std::string GetName () const override
 
size_t GetSize () const override
 
size_t GetAlignment () const override
 
const std::vector< member > & GetMembers () const
 
std::pair< std::string, std::string > GetAsStringPair () const
 
 operator std::pair< std::string, std::string > () const
 

Additional Inherited Members

- Protected Member Functions inherited from adtf::mediadescription::flash::cStructureType
void Add (member &&sNewMember)
 

Detailed Description

template<typename T = void>
class adtf::mediadescription::adtf_ddl_legacy::structure< T >

This is used to create a structure type from an existing c++ struct definition.

Example Usage

struct tSub
{
uint8_t nValue1;
uint8_t nValue2;
};
struct tParent
{
uint32_t nSomething;
tSub sSub;
};
auto oSubType = structure<tSub>("tSub")
.Add("nValue1", &tSub::nValue1)
.Add("nValue2", &tSub::nValue2);
auto oParentType = structure<tParent>("tParent")
.Add("nSomething", &tParent::nSomething)
.Add("sSub", &tParent::sSub, oSubType);
structure(const std::string &strName)
Definition type_reflection_legacy.h:396

Also have a look at Example Demo Time Trigger.

Constructor & Destructor Documentation

◆ structure()

template<typename T = void>
adtf::mediadescription::flash::structure< T >::structure ( const std::string & strName)
inline

Initializes the structure type.

Parameters
[in]strNameThe name.

Member Function Documentation

◆ Add() [1/3]

template<typename T = void>
template<typename MemberType>
structure & adtf::mediadescription::flash::structure< T >::Add ( const std::string & strName,
MemberType T::* pMemberOffset )
inline

Adds a new member of arithmetic type (POD).

Parameters
[in]strNameThe name of the member.
[in]pMemberOffsetThe pointer to the member.
Returns
A reference to the structure.

◆ Add() [2/3]

template<typename T = void>
template<typename MemberType>
structure & adtf::mediadescription::flash::structure< T >::Add ( const std::string & strName,
MemberType T::* pMemberOffset,
const cEnumerationType & oTypeDefinition )
inline

Adds a new member of an enumeration type.

Parameters
[in]strNameThe name of the member.
[in]pMemberOffsetThe pointer to the member.
[in]oTypeDefinitionThe enumeration type.
Returns
A reference to the structure.

◆ Add() [3/3]

template<typename T = void>
template<typename MemberType>
structure & adtf::mediadescription::flash::structure< T >::Add ( const std::string & strName,
MemberType T::* pMemberOffset,
const cStructureType & oTypeDefinition )
inline

Adds a new member of a structure type.

Parameters
[in]strNameThe name of the member.
[in]pMemberOffsetThe pointer to the member.
[in]oTypeDefinitionThe structure type.
Returns
A reference to the structure.

The documentation for this class was generated from the following file: