Murl Engine API  Version 2018.3
Murl::IFactoryObject< ClassType >::ClassInfo Class Reference

The class information object. More...

#include <murl_i_factory_object.h>

Detailed Description

template<class ClassType>
class Murl::IFactoryObject< ClassType >::ClassInfo

The class information object.

Inheritance diagram for Murl::IFactoryObject< ClassType >::ClassInfo:
Murl::Resource::IObject::ClassInfo Murl::Resource::IPackage::ClassInfo

Public Member Functions

 ClassInfo ()
 The default constructor.
 
 ClassInfo (const String &className, typename ClassType::CreateFunction createFunction, const ClassInfo *baseClassInfo, const PropertyInfo *propertyInfo, const AttributeInfo *attributeInfo)
 The constructor taking a class name and create function. More...
 
const StringGetClassName () const
 Get the class name. More...
 
ClassType::CreateFunction GetCreateFunction () const
 Get the create function. More...
 
const ClassInfoGetBaseClassInfo () const
 Get the ClassInfo struct of the base class. More...
 
const PropertyInfoGetPropertyInfo () const
 Get the class' property info struct. More...
 
const AttributeInfoGetAttributeInfo () const
 Get the class' attribute info struct. More...
 

Protected Attributes

String mClassName
 The class name. More...
 
ClassType::CreateFunction mCreateFunction
 The function to create the derived class. More...
 
const ClassInfomBaseClassInfo
 The class info struct of the base class if present. More...
 
const PropertyInfomPropertyInfo
 The property info structure. More...
 
const AttributeInfomAttributeInfo
 The attribute info structure. More...
 

Constructor & Destructor Documentation

◆ ClassInfo()

template<class ClassType>
Murl::IFactoryObject< ClassType >::ClassInfo::ClassInfo ( const String className,
typename ClassType::CreateFunction  createFunction,
const ClassInfo baseClassInfo,
const PropertyInfo propertyInfo,
const AttributeInfo attributeInfo 
)
inline

The constructor taking a class name and create function.

Parameters
classNameThe class name.
createFunctionThe function to create the derived class.
baseClassInfoA pointer to the ClassInfo structure of an optional base class, if this class is a derived one.
propertyInfoThe property info struct of the class.
attributeInfoThe attribute info struct of the class.

Member Function Documentation

◆ GetClassName()

template<class ClassType>
const String& Murl::IFactoryObject< ClassType >::ClassInfo::GetClassName ( ) const
inline

Get the class name.

Returns
The class name.

◆ GetCreateFunction()

template<class ClassType>
ClassType::CreateFunction Murl::IFactoryObject< ClassType >::ClassInfo::GetCreateFunction ( ) const
inline

Get the create function.

Returns
The create function.

◆ GetBaseClassInfo()

template<class ClassType>
const ClassInfo* Murl::IFactoryObject< ClassType >::ClassInfo::GetBaseClassInfo ( ) const
inline

Get the ClassInfo struct of the base class.

Returns
The ClassInfo struct, or null if there is no base class.

◆ GetPropertyInfo()

template<class ClassType>
const PropertyInfo* Murl::IFactoryObject< ClassType >::ClassInfo::GetPropertyInfo ( ) const
inline

Get the class' property info struct.

Returns
The property info struct.

◆ GetAttributeInfo()

template<class ClassType>
const AttributeInfo* Murl::IFactoryObject< ClassType >::ClassInfo::GetAttributeInfo ( ) const
inline

Get the class' attribute info struct.

Returns
The attribute info struct.

Member Data Documentation

◆ mClassName

template<class ClassType>
String Murl::IFactoryObject< ClassType >::ClassInfo::mClassName
protected

The class name.

◆ mCreateFunction

template<class ClassType>
ClassType::CreateFunction Murl::IFactoryObject< ClassType >::ClassInfo::mCreateFunction
protected

The function to create the derived class.

◆ mBaseClassInfo

template<class ClassType>
const ClassInfo* Murl::IFactoryObject< ClassType >::ClassInfo::mBaseClassInfo
protected

The class info struct of the base class if present.

◆ mPropertyInfo

template<class ClassType>
const PropertyInfo* Murl::IFactoryObject< ClassType >::ClassInfo::mPropertyInfo
protected

The property info structure.

◆ mAttributeInfo

template<class ClassType>
const AttributeInfo* Murl::IFactoryObject< ClassType >::ClassInfo::mAttributeInfo
protected

The attribute info structure.


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