#include <Link.h>
Inheritance diagram for ReferencePointer:

Public Methods | |
| bool | __eq__ (const ReferencePointer &other) |
| bool | __ne__ (const ReferencePointer &other) |
| ReferencePointer () | |
| Construct a ReferencePointer with no object reference (null pointer). | |
| ReferencePointer (Object *ptr) | |
| Assign to a specific object. | |
| ReferencePointer (const ReferencePointer &r) | |
| Light-weight copy with reference counting. | |
| virtual | ~ReferencePointer () |
| Decrement the object's reference count and destroy the object if the count reaches zero. | |
| bool | unique () const |
| Returns true if this is the only reference to an object. | |
| ReferencePointer & | operator= (const ReferencePointer &r) |
| Light-weight copy with reference counting. | |
| void * | operator= (void *p) |
| Raw pointer assignment for NULL only. | |
| void | setNull () |
| Clear pointer. | |
| bool | isNull () const |
| Test for null pointer. | |
| bool | operator! () const |
| Test for null pointer. | |
| bool | valid () const |
| Test for non-null pointer. | |
| bool | operator== (ReferencePointer const &p) const |
| Comparison with other simdata pointers. | |
| virtual Object * | __get__ () |
Protected Methods | |
| void | _assign_safe (Object *ptr) |
| Rebind to a new object, testing for type compatibility. | |
| void | _assign_fast (Object *ptr) |
| Rebind to a new object, without testing for type compatibility. | |
| void | _release () |
| Rebind to null. | |
| virtual void | _update (Object *p) |
| Change object pointer without reference counting. | |
| Object * | _get () const |
| Get the current object pointer. | |
Protected Attributes | |
| Object * | _reference |
| The actual object pointer. | |
|
|
Construct a ReferencePointer with no object reference (null pointer).
|
|
|
Assign to a specific object.
|
|
|
Light-weight copy with reference counting.
|
|
|
Decrement the object's reference count and destroy the object if the count reaches zero.
|
|
|
|
|
|
|
|
|
|
|
|
Rebind to a new object, without testing for type compatibility. Use this method only when you know that the pointer you are assignng from has the correct type. |
|
|
Rebind to a new object, testing for type compatibility. This method calls _update(), which is overridden in the Pointer<> class to attempt a dynamic cast to the template type and throws an exception if the cast fails. |
|
|
Get the current object pointer.
|
|
|
Rebind to null.
|
|
|
Change object pointer without reference counting. This method is extended in the Link<> class to test for type compatibility. Reimplemented in Link< T >. |
|
|
Test for null pointer.
|
|
|
Test for null pointer.
|
|
|
Raw pointer assignment for NULL only.
|
|
|
Light-weight copy with reference counting.
|
|
|
Comparison with other simdata pointers.
|
|
|
Clear pointer.
|
|
|
Returns true if this is the only reference to an object.
|
|
|
Test for non-null pointer.
|
|
|
The actual object pointer.
|
|
SimData version pre-0.4.0. For more information on SimData, visit the SimData Homepage. Generated on Tue Oct 14 12:06:42 2003, using Doxygen 1.2.18. |