Lunchbox  1.6.0
Public Member Functions | Protected Member Functions
lunchbox::Referenced Class Reference

Base class for referenced objects. More...

#include <referenced.h>

List of all members.

Public Member Functions

void ref (const void *holder=0) const
 Increase the reference count.
bool unref (const void *holder=0) const
 Decrease the reference count.
int getRefCount () const
void printHolders (std::ostream &os) 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.
Referencedoperator= (const Referenced &rhs)
 Assign another object to this object.
virtual void deleteReferenced (const Referenced *) const

Detailed Description

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.

See also:
RefPtr

Definition at line 45 of file referenced.h.


Constructor & Destructor Documentation

lunchbox::Referenced::Referenced ( ) [inline, protected]

Construct a new reference-counted object.

Version:
1.0

Definition at line 125 of file referenced.h.

lunchbox::Referenced::Referenced ( const Referenced ) [inline, protected]

Construct a new copy of a reference-counted object.

Version:
1.0

Definition at line 131 of file referenced.h.

virtual lunchbox::Referenced::~Referenced ( ) [inline, protected, virtual]

Destruct a reference-counted object.

Version:
1.0

Definition at line 137 of file referenced.h.


Member Function Documentation

int lunchbox::Referenced::getRefCount ( ) const [inline]
Returns:
the current reference count.
Version:
1.0

Definition at line 103 of file referenced.h.

Referenced& lunchbox::Referenced::operator= ( const Referenced rhs) [inline, protected]

Assign another object to this object.

Version:
1.1.3

Definition at line 148 of file referenced.h.

void lunchbox::Referenced::ref ( const void *  holder = 0) const [inline]

Increase the reference count.

Version:
1.0 .

Definition at line 49 of file referenced.h.

References lunchbox::backtrace(), lunchbox::Clock::getTime64(), and lunchbox::Log::instance().

+ Here is the call graph for this function:

bool lunchbox::Referenced::unref ( const void *  holder = 0) const [inline]

Decrease the reference count.

The object is deleted when the reference count reaches 0.

Version:
1.0
Returns:
true if the reference count went to 0, false otherwise.

Definition at line 78 of file referenced.h.


The documentation for this class was generated from the following file: