csWeakRef< T > Class Template Reference
A weak reference. More...
#include <weakref.h>
Public Methods | |
csWeakRef () | |
Construct an empty weak reference. | |
csWeakRef (T *newobj) | |
Construct a weak reference from a normal pointer. | |
csWeakRef (csWeakRef const &other) | |
Weak pointer copy constructor. | |
csWeakRef (const csPtr< T > &newobj) | |
Construct a weak reference from a csPtr. | |
~csWeakRef () | |
Weak pointer destructor. | |
csWeakRef & | operator= (T *newobj) |
Assign a raw object reference to this weak reference. | |
csWeakRef & | operator= (csPtr< T > newobj) |
Assign a csPtr reference to this weak reference. | |
csWeakRef & | operator= (csWeakRef const &other) |
Assign another object to this weak reference. | |
T * | operator-> () const |
Dereference underlying object. | |
operator T * () const | |
Cast weak reference to a pointer to the underlying object. | |
T & | operator * () const |
Dereference underlying object. | |
bool | IsValid () const |
Weak pointer validity check. | |
Friends | |
bool | operator== (const csWeakRef &r1, const csWeakRef &r2) |
Test if the two references point to same object. | |
bool | operator!= (const csWeakRef &r1, const csWeakRef &r2) |
Test if the two references point to different object. | |
bool | operator== (const csWeakRef &r1, T *obj) |
Test if object pointed to by reference is same as obj. | |
bool | operator!= (const csWeakRef &r1, T *obj) |
Test if object pointed to by reference is different from obj. | |
bool | operator== (T *obj, const csWeakRef &r1) |
Test if object pointed to by reference is same as obj. | |
bool | operator!= (T *obj, const csWeakRef &r1) |
Test if object pointed to by reference is different from obj. |
Detailed Description
template<class T>
class csWeakRef< T >
A weak reference.
This is a reference to a reference counted object but in itself it doesn't increment the ref counter. As soon as the object is destroyed (i.e. the last REAL reference to it is removed) all weak references pointing to that object are cleared. This kind of reference is useful if you want to maintain some kind of cached objects that can safely be removed as soon as the last reference to it is gone.
Note: this class assumes that the T type implements at least the following functions:
- AddRefOwner()
- RemoveRefOwner()
Definition at line 44 of file weakref.h.
Constructor & Destructor Documentation
|
Construct an empty weak reference.
|
|
Construct a weak reference from a normal pointer.
|
|
Weak pointer copy constructor.
|
|
Construct a weak reference from a csPtr. This will put the object in the weak reference and then it will release the reference. |
|
Weak pointer destructor.
|
Member Function Documentation
|
Weak pointer validity check. Returns true if weak reference is pointing at an actual object, otherwise returns false. |
|
Dereference underlying object.
|
|
Cast weak reference to a pointer to the underlying object.
|
|
Dereference underlying object.
|
|
Assign another object to this weak reference.
|
|
Assign a csPtr reference to this weak reference. This will cause a DecRef() on the pointer. |
|
Assign a raw object reference to this weak reference.
Definition at line 112 of file weakref.h. Referenced by csWeakRef< csEventQueue >::operator=(). |
Friends And Related Function Documentation
|
Test if object pointed to by reference is different from obj.
|
|
Test if object pointed to by reference is different from obj.
|
|
Test if the two references point to different object.
|
|
Test if object pointed to by reference is same as obj.
|
|
Test if object pointed to by reference is same as obj.
|
|
Test if the two references point to same object.
|
The documentation for this class was generated from the following file:
- csutil/weakref.h
Generated for Crystal Space by doxygen 1.2.18