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< ClassTypeaddMemberVariable (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, VariantBasePtrToVariants (const IceUtil::Time &timestamp, const CommonBaseT *ptr)
 

Detailed Description

template<class CommonBaseT, class ClassT>
struct armarx::introspection::ClassMemberInfo< CommonBaseT, ClassT >

Definition at line 34 of file ClassMemberInfo.h.

Member Typedef Documentation

◆ ClassType

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

Definition at line 36 of file ClassMemberInfo.h.

◆ CommonBaseType

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

Definition at line 37 of file ClassMemberInfo.h.

◆ Entry

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

Definition at line 40 of file ClassMemberInfo.h.

◆ 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

Definition at line 125 of file ClassMemberInfo.h.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ 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

+ Here is the caller graph for this function:

◆ 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 )

Definition at line 113 of file ClassMemberInfo.h.

◆ GetClassName()

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

Get the name of the current class.

Definition at line 215 of file ClassMemberInfo.h.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ GetDataFieldAs() [1/8]

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

Definition at line 246 of file ClassMemberInfo.h.

+ Here is the call graph for this function:

◆ GetDataFieldAs() [2/8]

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

Definition at line 258 of file ClassMemberInfo.h.

+ Here is the call graph for this function:

◆ GetDataFieldAs() [3/8]

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

Definition at line 318 of file ClassMemberInfo.h.

+ Here is the call graph for this function:

◆ GetDataFieldAs() [4/8]

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

Definition at line 306 of file ClassMemberInfo.h.

+ Here is the call graph for this function:

◆ GetDataFieldAs() [5/8]

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

Definition at line 282 of file ClassMemberInfo.h.

+ Here is the call graph for this function:

◆ GetDataFieldAs() [6/8]

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

Definition at line 294 of file ClassMemberInfo.h.

+ Here is the call graph for this function:

◆ GetDataFieldAs() [7/8]

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

Definition at line 270 of file ClassMemberInfo.h.

+ Here is the call graph for this function:

◆ GetDataFieldAs() [8/8]

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

Definition at line 330 of file ClassMemberInfo.h.

+ Here is the call graph for this function:

◆ GetDataFieldNames()

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

Definition at line 162 of file ClassMemberInfo.h.

+ Here is the call graph for this function:

◆ GetDataFieldType()

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

Definition at line 342 of file ClassMemberInfo.h.

+ Here is the call graph for this function:

◆ GetEntries()

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

Get all entries for member variables.

Definition at line 222 of file ClassMemberInfo.h.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ GetInstance()

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

Definition at line 207 of file ClassMemberInfo.h.

+ Here is the caller graph for this function:

◆ GetNumberOfDataFields()

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

Definition at line 229 of file ClassMemberInfo.h.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ToVariants()

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

Definition at line 180 of file ClassMemberInfo.h.

+ Here is the call graph for this function:

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