Reference counter implementation to be used with inheritance.
virtual ~Reference()
Destructor.
virtual void releaseReference()
Releases a reference, thus decrementing the counter and delete it if reference counter is zero.
unsigned int referenceCounter
virtual void acquireReference()
Acquires a reference, incrementing the counter.
virtual void onDelete()
Callback method to be overridden, will be called if object will be deleted.
#define FORBID_CLASS_COPY(CLASS)