Drag[en]gine Game Engine
1.21
|
Object reference holder. More...
#include <deObjectReference.h>
Public Member Functions | |
Constructors and Destructors | |
deObjectReference () | |
Create empty object reference holder. More... | |
deObjectReference (deObject *object) | |
Create object reference holder with object. More... | |
deObjectReference (const deObjectReference &reference) | |
Create object reference holder with object from another holder. More... | |
~deObjectReference () | |
Clean up object reference holder. More... | |
Management | |
void | TakeOver (deObject *object) |
Set object without adding reference. More... | |
bool | operator! () const |
Object is NULL. More... | |
operator bool () const | |
Test if object is not NULL. More... | |
operator deObject * () const | |
Pointer to object. More... | |
operator deObject & () const | |
deObjectReference to object. More... | |
deObject * | operator-> () const |
Pointer to object. More... | |
deObjectReference & | operator= (deObject *object) |
Store object. More... | |
deObjectReference & | operator= (const deObjectReference &reference) |
Store object. More... | |
bool | operator== (deObject *object) const |
Test if object is held by this holder. More... | |
bool | operator== (const deObjectReference &reference) const |
Test if object is held by this holder. More... | |
bool | operator!= (deObject *object) const |
Test if object is not held by this holder. More... | |
bool | operator!= (const deObjectReference &reference) const |
Test if object is not held by this holder. More... | |
Object reference holder.
Safe way to hold an object reference with correct reference handling. Storing NULL is allowed. Initial value is NULL.
deObjectReference::deObjectReference | ( | ) |
Create empty object reference holder.
deObjectReference::deObjectReference | ( | deObject * | object | ) |
Create object reference holder with object.
deObjectReference is added if object is not NULL.
deObjectReference::deObjectReference | ( | const deObjectReference & | reference | ) |
Create object reference holder with object from another holder.
deObjectReference is added if object in holder is not NULL.
deObjectReference::~deObjectReference | ( | ) |
Clean up object reference holder.
Releases reference if object is not NULL.
deObjectReference::operator bool | ( | ) | const |
Test if object is not NULL.
deObjectReference::operator deObject & | ( | ) | const |
deObjectReference to object.
deeNullPointer | if object is NULL. |
|
inline |
Pointer to object.
bool deObjectReference::operator! | ( | ) | const |
Object is NULL.
|
inline |
Test if object is not held by this holder.
|
inline |
Test if object is not held by this holder.
deObject* deObjectReference::operator-> | ( | ) | const |
Pointer to object.
deeNullPointer | if object is NULL. |
deObjectReference& deObjectReference::operator= | ( | const deObjectReference & | reference | ) |
Store object.
If an object is already held its reference is release and the new object stored. If the new object is not NULL a reference is added.
deObjectReference& deObjectReference::operator= | ( | deObject * | object | ) |
Store object.
If an object is already held its reference is release and the new object stored. If the new object is not NULL a reference is added.
|
inline |
Test if object is held by this holder.
|
inline |
Test if object is held by this holder.
void deObjectReference::TakeOver | ( | deObject * | object | ) |
Set object without adding reference.
Use this method if the object to hold has been added a reference already. This is the case with created objects as well as certain methods returning newly created objects. In all these cases the object has to be held without adding a reference. For all other situations use the constructor or assignment operator.
It is allowed for object to be a NULL object.