ClassMemberInfo< CommonBaseT, ClassT > Struct Template Reference

#include <RobotAPI/components/units/RobotUnit/util/introspection/ClassMemberInfo.h>

Public Types

using ClassType = ClassT
 
using CommonBaseType = CommonBaseT
 
using Entry = introspection::ClassMemberInfoEntry<CommonBaseType>
 
template<class T>
using EntryConfigurator
 

Public Member Functions

template<class BaseClassType>
void addBaseClass ()
 add all variables of a base class of the current class
 
template<class MemberType>
EntryConfigurator< ClassType > addMemberVariable (MemberType ClassType::*ptr, const std::string &name)
 add a member variable of the current class
 
template<class MemberType>
ClassMemberInfo< CommonBaseT, ClassT >::template EntryConfigurator< ClassT > addMemberVariable (MemberType ClassType::*ptr, const std::string &name)
 

Static Public Member Functions

static const std::string & GetClassName ()
 Get the name of the current class.
 
static void GetDataFieldAs (const ClassType *ptr, std::size_t i, bool &out)
 
static void GetDataFieldAs (const ClassType *ptr, std::size_t i, Ice::Byte &out)
 
static void GetDataFieldAs (const ClassType *ptr, std::size_t i, Ice::Double &out)
 
static void GetDataFieldAs (const ClassType *ptr, std::size_t i, Ice::Float &out)
 
static void GetDataFieldAs (const ClassType *ptr, std::size_t i, Ice::Int &out)
 
static void GetDataFieldAs (const ClassType *ptr, std::size_t i, Ice::Long &out)
 
static void GetDataFieldAs (const ClassType *ptr, std::size_t i, Ice::Short &out)
 
static void GetDataFieldAs (const ClassType *ptr, std::size_t i, std::string &out)
 
static std::vector< std::string > GetDataFieldNames ()
 
static const std::type_info & GetDataFieldType (std::size_t i)
 
static const KeyValueVector< std::string, Entry > & GetEntries ()
 Get all entries for member variables.
 
static const ClassMemberInfo< CommonBaseT, ClassT > & GetInstance ()
 
static std::size_t GetNumberOfDataFields ()
 
static std::map< std::string, VariantBasePtr > ToVariants (const IceUtil::Time &timestamp, const CommonBaseT *ptr)
 

Member Typedef Documentation

◆ ClassType

template<class CommonBaseT, class ClassT>
using ClassType = ClassT

◆ CommonBaseType

template<class CommonBaseT, class ClassT>
using CommonBaseType = CommonBaseT

◆ Entry

template<class CommonBaseT, class ClassT>
using Entry = introspection::ClassMemberInfoEntry<CommonBaseType>

◆ EntryConfigurator

template<class CommonBaseT, class ClassT>
template<class T>
using EntryConfigurator

Member Function Documentation

◆ addBaseClass()

template<class CommonBaseT, class ClassT>
template<class BaseClassType>
void addBaseClass ( )

add all variables of a base class of the current class

◆ addMemberVariable() [1/2]

template<class CommonBaseT, class ClassT>
template<class MemberType>
EntryConfigurator< ClassType > addMemberVariable ( MemberType ClassType::* ptr,
const std::string & name )

add a member variable of the current class

◆ addMemberVariable() [2/2]

template<class CommonBaseT, class ClassT>
template<class MemberType>
ClassMemberInfo< CommonBaseT, ClassT >::template EntryConfigurator< ClassT > addMemberVariable ( MemberType ClassType::* ptr,
const std::string & name )

◆ GetClassName()

template<class CommonBaseT, class ClassT>
const std::string & GetClassName ( )
static

Get the name of the current class.

◆ GetDataFieldAs() [1/8]

template<class CommonBaseT, class ClassT>
void GetDataFieldAs ( const ClassType * ptr,
std::size_t i,
bool & out )
static

◆ GetDataFieldAs() [2/8]

template<class CommonBaseT, class ClassT>
void GetDataFieldAs ( const ClassType * ptr,
std::size_t i,
Ice::Byte & out )
static

◆ GetDataFieldAs() [3/8]

template<class CommonBaseT, class ClassT>
void GetDataFieldAs ( const ClassType * ptr,
std::size_t i,
Ice::Double & out )
static

◆ GetDataFieldAs() [4/8]

template<class CommonBaseT, class ClassT>
void GetDataFieldAs ( const ClassType * ptr,
std::size_t i,
Ice::Float & out )
static

◆ GetDataFieldAs() [5/8]

template<class CommonBaseT, class ClassT>
void GetDataFieldAs ( const ClassType * ptr,
std::size_t i,
Ice::Int & out )
static

◆ GetDataFieldAs() [6/8]

template<class CommonBaseT, class ClassT>
void GetDataFieldAs ( const ClassType * ptr,
std::size_t i,
Ice::Long & out )
static

◆ GetDataFieldAs() [7/8]

template<class CommonBaseT, class ClassT>
void GetDataFieldAs ( const ClassType * ptr,
std::size_t i,
Ice::Short & out )
static

◆ GetDataFieldAs() [8/8]

template<class CommonBaseT, class ClassT>
void GetDataFieldAs ( const ClassType * ptr,
std::size_t i,
std::string & out )
static

◆ GetDataFieldNames()

template<class CommonBaseT, class ClassT>
std::vector< std::string > GetDataFieldNames ( )
static

◆ GetDataFieldType()

template<class CommonBaseT, class ClassT>
const std::type_info & GetDataFieldType ( std::size_t i)
static

◆ GetEntries()

template<class CommonBaseT, class ClassT>
const KeyValueVector< std::string, ClassMemberInfoEntry< CommonBaseT > > & GetEntries ( )
static

Get all entries for member variables.

◆ GetInstance()

template<class CommonBaseT, class ClassT>
const ClassMemberInfo< CommonBaseT, ClassT > & GetInstance ( )
static

◆ GetNumberOfDataFields()

template<class CommonBaseT, class ClassT>
std::size_t GetNumberOfDataFields ( )
static

◆ ToVariants()

template<class CommonBaseT, class ClassT>
std::map< std::string, VariantBasePtr > ToVariants ( const IceUtil::Time & timestamp,
const CommonBaseT * ptr )
static

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