Orxonox
0.0.5 Codename: Arcturus
|
Identifiable is needed to create the class-hierarchy at startup and to store the Identifier. More...
#include </home/jenkins/workspace/orxonox_doxygen_trunk/src/libraries/core/class/Identifiable.h>
Public Member Functions | |
Identifiable () | |
Constructor: Sets the default values. More... | |
virtual | ~Identifiable () |
ORX_FORCEINLINE void * | getDerivedPointer (unsigned int classID) |
Returns a valid pointer of any derived type that is registered in the class hierarchy. More... | |
template<class T > | |
ORX_FORCEINLINE T * | getDerivedPointer (unsigned int classID) |
Version of getDerivedPointer with template. More... | |
template<class T > | |
ORX_FORCEINLINE const T * | getDerivedPointer (unsigned int classID) const |
Const version of getDerivedPointer with template. More... | |
Identifier * | getIdentifier () const |
Returns the Identifier of the object. More... | |
bool | isA (const Identifier *identifier) |
Returns true if the object's class is of the given type or a derivative. More... | |
template<class B > | |
bool | isA (const SubclassIdentifier< B > *identifier) |
Returns true if the object's class is of the given type or a derivative. More... | |
bool | isA (const Identifiable *object) |
Returns true if the object's class is of the given type or a derivative. More... | |
bool | isChildOf (const Identifier *identifier) |
Returns true if the object's class is a child of the given type. More... | |
template<class B > | |
bool | isChildOf (const SubclassIdentifier< B > *identifier) |
Returns true if the object's class is a child of the given type. More... | |
bool | isChildOf (const Identifiable *object) |
Returns true if the object's class is a child of the given type. More... | |
bool | isDirectChildOf (const Identifier *identifier) |
Returns true if the object's class is a direct child of the given type. More... | |
template<class B > | |
bool | isDirectChildOf (const SubclassIdentifier< B > *identifier) |
Returns true if the object's class is a direct child of the given type. More... | |
bool | isDirectChildOf (const Identifiable *object) |
Returns true if the object's class is a direct child of the given type. More... | |
bool | isDirectParentOf (const Identifier *identifier) |
Returns true if the object's class is a direct parent of the given type. More... | |
template<class B > | |
bool | isDirectParentOf (const SubclassIdentifier< B > *identifier) |
Returns true if the object's class is a direct parent of the given type. More... | |
bool | isDirectParentOf (const Identifiable *object) |
Returns true if the object's class is a direct child of the given type. More... | |
bool | isExactlyA (const Identifier *identifier) |
Returns true if the object's class is exactly of the given type. More... | |
template<class B > | |
bool | isExactlyA (const SubclassIdentifier< B > *identifier) |
Returns true if the object's class is exactly of the given type. More... | |
bool | isExactlyA (const Identifiable *object) |
Returns true if the object's class is exactly of the given type. More... | |
bool | isParentOf (const Identifier *identifier) |
Returns true if the object's class is a parent of the given type. More... | |
template<class B > | |
bool | isParentOf (const SubclassIdentifier< B > *identifier) |
Returns true if the object's class is a parent of the given type. More... | |
bool | isParentOf (const Identifiable *object) |
Returns true if the object's class is a parent of the given type. More... | |
Private Attributes | |
Identifier * | identifier_ |
The Identifier of the object. More... | |
std::vector< std::pair< unsigned int, void * > > | objectPointers_ |
'Fast map' that holds this-pointers of all derived types More... | |
Friends | |
template<class T > | |
class | ClassIdentifier |
Identifiable is needed to create the class-hierarchy at startup and to store the Identifier.
orxonox::Identifiable::Identifiable | ( | ) |
Constructor: Sets the default values.
|
inlinevirtual |
|
inline |
Returns a valid pointer of any derived type that is registered in the class hierarchy.
|
inline |
Version of getDerivedPointer with template.
|
inline |
Const version of getDerivedPointer with template.
|
inline |
Returns the Identifier of the object.
bool orxonox::Identifiable::isA | ( | const Identifier * | identifier | ) |
Returns true if the object's class is of the given type or a derivative.
|
inline |
Returns true if the object's class is of the given type or a derivative.
bool orxonox::Identifiable::isA | ( | const Identifiable * | object | ) |
Returns true if the object's class is of the given type or a derivative.
bool orxonox::Identifiable::isChildOf | ( | const Identifier * | identifier | ) |
Returns true if the object's class is a child of the given type.
|
inline |
Returns true if the object's class is a child of the given type.
bool orxonox::Identifiable::isChildOf | ( | const Identifiable * | object | ) |
Returns true if the object's class is a child of the given type.
bool orxonox::Identifiable::isDirectChildOf | ( | const Identifier * | identifier | ) |
Returns true if the object's class is a direct child of the given type.
|
inline |
Returns true if the object's class is a direct child of the given type.
bool orxonox::Identifiable::isDirectChildOf | ( | const Identifiable * | object | ) |
Returns true if the object's class is a direct child of the given type.
bool orxonox::Identifiable::isDirectParentOf | ( | const Identifier * | identifier | ) |
Returns true if the object's class is a direct parent of the given type.
|
inline |
Returns true if the object's class is a direct parent of the given type.
bool orxonox::Identifiable::isDirectParentOf | ( | const Identifiable * | object | ) |
Returns true if the object's class is a direct child of the given type.
bool orxonox::Identifiable::isExactlyA | ( | const Identifier * | identifier | ) |
Returns true if the object's class is exactly of the given type.
|
inline |
Returns true if the object's class is exactly of the given type.
bool orxonox::Identifiable::isExactlyA | ( | const Identifiable * | object | ) |
Returns true if the object's class is exactly of the given type.
bool orxonox::Identifiable::isParentOf | ( | const Identifier * | identifier | ) |
Returns true if the object's class is a parent of the given type.
|
inline |
Returns true if the object's class is a parent of the given type.
bool orxonox::Identifiable::isParentOf | ( | const Identifiable * | object | ) |
Returns true if the object's class is a parent of the given type.
|
friend |
|
private |
The Identifier of the object.
|
private |
'Fast map' that holds this-pointers of all derived types