SOFA API  56988ca1
Open source framework for multi-physics simuation
sofa::core::objectmodel::ClassInfo Class Referenceabstract

#include <ClassInfo.h>

Meta information class. More...

Inheritance diagram for sofa::core::objectmodel::ClassInfo:

Detailed Description

Meta information class.

This class contains reflection-like features to analyse a class deriving from Base

Protected Attributes

const std::type_info * pt
 

Static Protected Attributes

static std::map< sofa::helper::TypeInfo, ClassInfo * > classes
 

Public Member Functions

std::string name () const
 
 operator const std::type_info & () const
 
helper::TypeInfo type () const
 
bool operator== (const ClassInfo &t) const
 
bool operator!= (const ClassInfo &t) const
 
bool operator< (const ClassInfo &t) const
 
virtual void * dynamicCast (Base *obj) const =0
 
virtual bool isInstance (Base *obj) const
 

Protected Member Functions

 ClassInfo (const std::type_info *ti)
 
virtual ~ClassInfo ()
 

Attribute details

◆ classes

std::map< sofa::helper::TypeInfo, ClassInfo * > sofa::core::objectmodel::ClassInfo::classes
staticprotected

◆ pt

const std::type_info* sofa::core::objectmodel::ClassInfo::pt
protected

Constructor details

◆ ClassInfo()

sofa::core::objectmodel::ClassInfo::ClassInfo ( const std::type_info *  ti)
protected

◆ ~ClassInfo()

sofa::core::objectmodel::ClassInfo::~ClassInfo ( )
protectedvirtual

Function details

◆ dynamicCast()

virtual void* sofa::core::objectmodel::ClassInfo::dynamicCast ( Base obj) const
pure virtual

◆ isInstance()

virtual bool sofa::core::objectmodel::ClassInfo::isInstance ( Base obj) const
inlinevirtual

◆ name()

std::string sofa::core::objectmodel::ClassInfo::name ( ) const
inline

◆ operator const std::type_info &()

sofa::core::objectmodel::ClassInfo::operator const std::type_info & ( ) const
inline

◆ operator!=()

bool sofa::core::objectmodel::ClassInfo::operator!= ( const ClassInfo t) const
inline

◆ operator<()

bool sofa::core::objectmodel::ClassInfo::operator< ( const ClassInfo t) const
inline

◆ operator==()

bool sofa::core::objectmodel::ClassInfo::operator== ( const ClassInfo t) const
inline

◆ type()

helper::TypeInfo sofa::core::objectmodel::ClassInfo::type ( ) const
inline