65 #ifndef _SubclassIdentifier_H__ 66 #define _SubclassIdentifier_H__ 179 orxout(
user_error) <<
"An error occurred in SubclassIdentifier (Identifier.h):" << endl;
185 orxout(
user_error) <<
"An error occurred in SubclassIdentifier (Identifier.h):" << endl;
186 orxout(
user_error) <<
"Couldn't fabricate a new Object - Identifier is undefined." << endl;
Identifier * getIdentifier() const
Returns the assigned identifier.
Definition: SubclassIdentifier.h:196
The ClassIdentifier is derived from Identifier and holds all class-specific functions and variables t...
Definition: Identifier.h:262
Shared library macros, enums, constants and forward declarations for the core library ...
SubclassIdentifier(Identifier *identifier)
Constructor: Assigns the given Identifier.
Definition: SubclassIdentifier.h:100
Identifier * operator->() const
Overloading of the -> operator: returns the assigned identifier.
Definition: SubclassIdentifier.h:153
Identifiable is needed to create the class-hierarchy at startup and to store the Identifier.
Definition: Identifiable.h:50
Output level, used for error messages which are important for developers.
Definition: OutputDefinitions.h:95
Declaration of Identifier, definition of ClassIdentifier<T>; used to identify the class of an object...
static ClassIdentifier< T > * getIdentifier()
Returns the only instance of this class.
Definition: Identifier.h:329
Output level, used for error messages which are important for the user.
Definition: OutputDefinitions.h:91
Identifier * operator*() const
Overloading of the * operator: returns the assigned identifier.
Definition: SubclassIdentifier.h:147
Identifier * identifier_
The assigned identifier.
Definition: SubclassIdentifier.h:200
OutputStream & orxout(OutputLevel level=level::debug_output, const OutputContextContainer &context=context::undefined())
This helper function returns a reference to a commonly used instance of OutputStream.
Definition: Output.h:81
Die Wagnis Klasse hat die folgenden Aufgaben:
Definition: ApplicationPaths.cc:66
bool isA(const Identifier *identifier) const
Returns true, if the Identifier is at least of the given type.
Definition: Identifier.cc:316
SubclassIdentifier< T > & operator=(Identifier *identifier)
Overloading of the = operator: assigns the identifier and checks its type.
Definition: SubclassIdentifier.h:117
The Identifier is used to identify the class of an object and to store information about the class...
Definition: Identifier.h:109
Defines the helper function orxout() and includes all necessary headers to use the output system...
ORX_FORCEINLINE T orxonox_cast(U *source)
Casts on object of type Identifiable to any derived type that is registered in the class hierarchy...
Definition: Identifier.h:485
Definition: InputPrereqs.h:78
Identifiable * fabricate(Context *context)
Creates an object of the type the Identifier belongs to.
Definition: Identifier.cc:107
T * fabricate(Context *context) const
Creates a new object of the type of the assigned Identifier and dynamic_casts it to the minimal type ...
Definition: SubclassIdentifier.h:165
SubclassIdentifier< T > & operator=(const SubclassIdentifier< O > &identifier)
Overloading of the = operator: assigns the identifier of another SubclassIdentifier.
Definition: SubclassIdentifier.h:141
SubclassIdentifier(const SubclassIdentifier< O > &identifier)
Copyconstructor: Assigns the identifier of another SubclassIdentifier.
Definition: SubclassIdentifier.h:107
const std::string & getName() const
Returns the name of the class the Identifier belongs to.
Definition: Identifier.h:127
The SubclassIdentifier acts almost like an Identifier, but has some prerequisites.
Definition: SubclassIdentifier.h:90
SubclassIdentifier()
Constructor: Automaticaly assigns the Identifier of the given class.
Definition: SubclassIdentifier.h:94