#include <src/core/Identifier.h>
Public Member Functions | |
void | addObject (T *object) |
Adds an object of the given type to the ObjectList. | |
SUPER_INTRUSIVE_DECLARATION (changedGametype) | |
SUPER_INTRUSIVE_DECLARATION (changedName) | |
SUPER_INTRUSIVE_DECLARATION (changedOverlayGroup) | |
SUPER_INTRUSIVE_DECLARATION (changedOwner) | |
SUPER_INTRUSIVE_DECLARATION (changedMainState) | |
SUPER_INTRUSIVE_DECLARATION (changedScale) | |
SUPER_INTRUSIVE_DECLARATION (processEvent) | |
SUPER_INTRUSIVE_DECLARATION (changedVisibility) | |
SUPER_INTRUSIVE_DECLARATION (changedActivity) | |
SUPER_INTRUSIVE_DECLARATION (tick) | |
SUPER_INTRUSIVE_DECLARATION (XMLPort) | |
void | updateConfigValues (bool updateChildren=true) const |
Updates the config-values of all existing objects of this class by calling their setConfigValues() function. | |
Static Public Member Functions | |
static ClassIdentifier< T > * | getIdentifier (const std::string &name) |
Does the same as getIdentifier() but sets the name if this wasn't done yet. | |
static ClassIdentifier< T > * | getIdentifier () |
Returns the only instance of this class. | |
Private Member Functions | |
ClassIdentifier () | |
ClassIdentifier (const ClassIdentifier< T > &identifier) | |
virtual void | createSuperFunctionCaller () const |
~ClassIdentifier () | |
Static Private Member Functions | |
static void | initialiseIdentifier () |
Assigns the static field for the identifier singleton. | |
Static Private Attributes | |
static ClassIdentifier< T > * | classIdentifier_s = 0 |
Friends | |
struct | SuperFunctionCondition |
ClassIdentifier is a Singleton, which means that only one object of a given type T exists. This makes it possible to store informations about a class, sharing them with all objects of that class without defining static variables in every class.
To be really sure that not more than exactly one object exists (even with libraries), ClassIdentifiers are stored in the Identifier Singleton.
orxonox::ClassIdentifier< T >::ClassIdentifier | ( | const ClassIdentifier< T > & | identifier | ) | [inline, private] |
orxonox::ClassIdentifier< T >::ClassIdentifier | ( | ) | [inline, private] |
orxonox::ClassIdentifier< T >::~ClassIdentifier | ( | ) | [inline, private] |
void orxonox::ClassIdentifier< T >::addObject | ( | T * | object | ) | [inline] |
virtual void orxonox::ClassIdentifier< T >::createSuperFunctionCaller | ( | ) | const [inline, private, virtual] |
Implements orxonox::Identifier.
ClassIdentifier< T > * orxonox::ClassIdentifier< T >::getIdentifier | ( | const std::string & | name | ) | [inline, static] |
Does the same as getIdentifier() but sets the name if this wasn't done yet.
name | The name of this Identifier |
ClassIdentifier< T > * orxonox::ClassIdentifier< T >::getIdentifier | ( | ) | [inline, static] |
void orxonox::ClassIdentifier< T >::initialiseIdentifier | ( | ) | [inline, static, private] |
Assigns the static field for the identifier singleton.
orxonox::ClassIdentifier< T >::SUPER_INTRUSIVE_DECLARATION | ( | changedGametype | ) |
orxonox::ClassIdentifier< T >::SUPER_INTRUSIVE_DECLARATION | ( | changedName | ) |
orxonox::ClassIdentifier< T >::SUPER_INTRUSIVE_DECLARATION | ( | changedOverlayGroup | ) |
orxonox::ClassIdentifier< T >::SUPER_INTRUSIVE_DECLARATION | ( | changedOwner | ) |
orxonox::ClassIdentifier< T >::SUPER_INTRUSIVE_DECLARATION | ( | changedMainState | ) |
orxonox::ClassIdentifier< T >::SUPER_INTRUSIVE_DECLARATION | ( | changedScale | ) |
orxonox::ClassIdentifier< T >::SUPER_INTRUSIVE_DECLARATION | ( | processEvent | ) |
orxonox::ClassIdentifier< T >::SUPER_INTRUSIVE_DECLARATION | ( | changedVisibility | ) |
orxonox::ClassIdentifier< T >::SUPER_INTRUSIVE_DECLARATION | ( | changedActivity | ) |
orxonox::ClassIdentifier< T >::SUPER_INTRUSIVE_DECLARATION | ( | tick | ) |
orxonox::ClassIdentifier< T >::SUPER_INTRUSIVE_DECLARATION | ( | XMLPort | ) |
void orxonox::ClassIdentifier< T >::updateConfigValues | ( | bool | updateChildren = true |
) | const [inline, virtual] |
Updates the config-values of all existing objects of this class by calling their setConfigValues() function.
Implements orxonox::Identifier.
friend struct SuperFunctionCondition [friend] |
ClassIdentifier< T > * orxonox::ClassIdentifier< T >::classIdentifier_s = 0 [inline, static, private] |