MIRA
|
For detailed information see Class Factory.
More...
Classes | |
class | Class |
Class object which supports some kind of class reflection. More... | |
class | ClassProxy |
The class proxy assures that the pointer to the class object is always valid. More... | |
class | ClassFactory |
What should i say, the class factory. More... | |
class | LibraryRegistry |
A registry for shared libraries. More... | |
class | NullClass |
Marker class for marking an invalid "null" class. More... | |
class | Object |
The object class acts as a generic base class for classes which should be used with the classFactory. More... | |
class | TClass< CLASS > |
The TClass object is the implementation of the class class for classes which are available since the corresponding library is loaded. More... | |
Macros | |
#define | MIRA_NAMEDOBJECT(classIdentifier, className) |
Use this MACRO if you don't like the factory to automatically extract the class name from the given identifier. More... | |
#define | MIRA_OBJECT(classIdentifier) |
Use this MACRO if you like the factory to automatically extract the class name from the given identifier. More... | |
#define | MIRA_META_OBJECT(classIdentifier, MetaInfo) |
Use this MACRO instead of MIRA_OBJECT if you like to add meta information to your class. More... | |
#define | MIRA_CLASS_REGISTER(Class, ...) |
Use this macro to register your class at the ClassFactory. More... | |
Typedefs | |
typedef int | TypeId |
The type of the integral TypeId, that can be retrieved by typeId<T>() More... | |
Functions | |
template<typename T > | |
TypeId | typeId () |
Generates unique IDs for different types. More... | |
For detailed information see Class Factory.
#define MIRA_NAMEDOBJECT | ( | classIdentifier, | |
className | |||
) |
Use this MACRO if you don't like the factory to automatically extract the class name from the given identifier.
You have to pass Identifier and Class name separated by comma.
#define MIRA_OBJECT | ( | classIdentifier | ) |
Use this MACRO if you like the factory to automatically extract the class name from the given identifier.
You cannot add meta information to your class with this MACRO. If you like to do so, use MIRA_META_OBJECT instead.
#define MIRA_META_OBJECT | ( | classIdentifier, | |
MetaInfo | |||
) |
Use this MACRO instead of MIRA_OBJECT if you like to add meta information to your class.
You have to pass the class identifier and a list of meta information enclosed in brackets. Example: MIRA_META_OBJECT( ClassIdentifer, ("MetaKey1","MetaValue1")("MetaKey2","MetaValue2") );
#define MIRA_CLASS_REGISTER | ( | Class, | |
... | |||
) |
Use this macro to register your class at the ClassFactory.
Pass your Class and the parent Class. Use the macro several times if your class do have more than one parent.
typedef int TypeId |
The type of the integral TypeId, that can be retrieved by typeId<T>()
TypeId mira::typeId | ( | ) |
Generates unique IDs for different types.
However, the IDs may change with any start of the application. Therefore, they only can be used for within one process, e.g. for checking if two types are identical, storing type information, etc.