Lunchbox
1.8.0
|
Base class for referenced objects. More...
#include <referenced.h>
Public Member Functions | |
void | ref (const void *=0) const |
Increase the reference count. | |
bool | unref (const void *=0) const |
Decrease the reference count. | |
int32_t | getRefCount () const |
void | printHolders (std::ostream &) const |
Protected Member Functions | |
Referenced () | |
Construct a new reference-counted object. | |
Referenced (const Referenced &) | |
Construct a new copy of a reference-counted object. | |
virtual | ~Referenced () |
Destruct a reference-counted object. | |
Referenced & | operator= (const Referenced &) |
Assign another object to this object. | |
virtual void | notifyFree () |
Base class for referenced objects.
Implements reference-counted objects which destroy themselves once they are no longer referenced. Uses an Atomic variable to keep the reference count access thread-safe and efficient.
Definition at line 45 of file referenced.h.
|
inlineprotected |
|
inlineprotected |
Construct a new copy of a reference-counted object.
Definition at line 141 of file referenced.h.
|
inlineprotectedvirtual |
|
inline |
|
inlineprotected |
|
inline |
Increase the reference count.
Definition at line 52 of file referenced.h.
References lunchbox::backtrace(), lunchbox::Clock::getTime64(), and lunchbox::Log::instance().
|
inline |
Decrease the reference count.
The object is deleted when the reference count reaches 0.
Definition at line 85 of file referenced.h.