Orxonox
0.0.5 Codename: Arcturus
|
Listable stores the entries of all object lists pointing to this instance. More...
#include </home/jenkins/workspace/orxonox_doxygen_trunk/src/libraries/core/object/Listable.h>
Public Member Functions | |
Listable () | |
Constructor: Allocates space in the element list. More... | |
Listable (Context *context) | |
Constructor: Allocates space in the element list and assigns the context. More... | |
virtual | ~Listable () |
Destructor: Removes the object from the object-lists. More... | |
Context * | getContext () const |
void | setContext (Context *context) |
Changes the context. More... | |
void | unregisterObject () |
Removes this object from the object-lists. More... | |
![]() | |
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... | |
Static Private Member Functions | |
template<class T > | |
static ObjectListElement< T > * | createObjectListElement (T *object) |
static void | deleteObjectListElement (ObjectListBaseElement *element) |
static SmallObjectAllocator & | getObjectListElementAllocator () |
Private Attributes | |
Context * | context_ |
The object will register itself in the object lists of this context. More... | |
std::vector< ObjectListBaseElement * > | elements_ |
The corresponding ObjectListElements in all object lists the object is registered in. More... | |
Friends | |
class | Context |
Listable stores the entries of all object lists pointing to this instance.
orxonox::Listable::Listable | ( | ) |
Constructor: Allocates space in the element list.
orxonox::Listable::Listable | ( | Context * | context | ) |
Constructor: Allocates space in the element list and assigns the context.
|
virtual |
Destructor: Removes the object from the object-lists.
|
inlinestaticprivate |
|
staticprivate |
|
inline |
|
staticprivate |
Changes the context.
The object is removed from the current context and added to the new one. This also applies to all object lists the object is registered in.
void orxonox::Listable::unregisterObject | ( | ) |
Removes this object from the object-lists.
|
friend |
|
private |
The object will register itself in the object lists of this context.
|
private |
The corresponding ObjectListElements in all object lists the object is registered in.