#include <CountRef.h>
Public Member Functions | |
CountRef (void *) | |
void | use (void) |
void | release (void) |
Public Attributes | |
void * | ptr |
This class is used instead of simple pointers to enable sharing of objects using simple reference counting mechanism. It encapsulates the given (pointer to) object and remembers the number of references to it. Taking and getting rid of the reference to encapsulated object is explicit by calling member functions use() and release().
|
Encapsulate the given object and set reference count to 1. |
|
Decrease the reference count, possibly deallocating the encapsulated object. This method should be called when the holder no longer plans to use the encapsulated object, instead of deleting it. |
|
Increase the number of references to the object. This method should be called every time the pointer (ie. this instance) is copied. |
|
Pointer to the encapsulated object. |