Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

lfc::RTTI Class Reference

Inheritance diagram for lfc::RTTI::

lfc::Object List of all members.

Public Types

typedef short ID

Static Public Methods

template<class TYPE> void registerClass (ID id, string className)
template<class TYPE> void unregisterClass ()
string className (ID id)
string className (const Object &obj)
ID classID (string className)
ID classID (const Object &obj)
template<class TYPE> TYPE * newObject (ID id)
template<class TYPE> TYPE * newObject (string className)
template<class TYPE> TYPE * clone (const Object &obj)

Protected Types

typedef Object *(* InstanceFactory )()
typedef Object *(* CloneFactory )(const Object &)

Static Protected Attributes

vector< ClassInfos_registeredClasses

Detailed Description

Todo:
document this

make this thread safe


Member Typedef Documentation

typedef short lfc::RTTI::ID
 

typedef Object*(* lfc::RTTI::InstanceFactory)() [protected]
 

typedef Object*(* lfc::RTTI::CloneFactory)(const Object &) [protected]
 


Member Function Documentation

template<class TYPE>
void lfc::RTTI::registerClass ID    id,
string    className
[static]
 

template<class TYPE>
void lfc::RTTI::unregisterClass   [static]
 

string lfc::RTTI::className ID    id [static]
 

string lfc::RTTI::className const Object   obj [static]
 

RTTI::ID lfc::RTTI::classID string    className [static]
 

RTTI::ID lfc::RTTI::classID const Object   obj [static]
 

template<class TYPE>
TYPE * lfc::RTTI::newObject ID    id [static]
 

template<class TYPE>
TYPE * lfc::RTTI::newObject string    className [static]
 

template<class TYPE>
TYPE * lfc::RTTI::clone const Object   obj [static]
 


Member Data Documentation

vector< RTTI::ClassInfo > lfc::RTTI::s_registeredClasses [static, protected]
 

Todo:
use std::map<id, info> here


The documentation for this class was generated from the following files:
Generated on Fri Jan 25 03:13:45 2002 for LFC2 by doxygen1.2.11.1 written by Dimitri van Heesch, © 1997-2001