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 = introspection::ClassMemberInfoEntryConfigurator< CommonBaseType, T >
 

Public Member Functions

template<class BaseClassType >
void addBaseClass ()
 add all variables of a base class of the current class More...
 
template<class MemberType >
EntryConfigurator< ClassTypeaddMemberVariable (MemberType ClassType::*ptr, const std::string &name)
 add a member variable of the current class More...
 
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. More...
 
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. More...
 
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

using ClassType = ClassT

Definition at line 36 of file ClassMemberInfo.h.

◆ CommonBaseType

using CommonBaseType = CommonBaseT

Definition at line 37 of file ClassMemberInfo.h.

◆ Entry

◆ EntryConfigurator

Member Function Documentation

◆ addBaseClass()

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]

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]

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

Definition at line 113 of file ClassMemberInfo.h.

◆ GetClassName()

const std::string & GetClassName
static

Get the name of the current class.

Definition at line 215 of file ClassMemberInfo.h.

◆ GetDataFieldAs() [1/8]

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]

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]

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]

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]

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]

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]

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]

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

std::vector< std::string > GetDataFieldNames
static

Definition at line 162 of file ClassMemberInfo.h.

◆ GetDataFieldType()

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

const KeyValueVector< std::string, ClassMemberInfoEntry< CommonBaseT > > & GetEntries
static

Get all entries for member variables.

Definition at line 222 of file ClassMemberInfo.h.

◆ GetInstance()

const ClassMemberInfo< CommonBaseT, ClassT > & GetInstance
static

Definition at line 207 of file ClassMemberInfo.h.

◆ GetNumberOfDataFields()

std::size_t GetNumberOfDataFields
static

Definition at line 229 of file ClassMemberInfo.h.

◆ ToVariants()

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

Definition at line 180 of file ClassMemberInfo.h.


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