Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

# osg::Referenced Class Reference

Base class from providing referencing counted objects. More...

Inheritance diagram for osg::Referenced:

[legend]
List of all members.

## Public Member Functions
| Referenced ()
| Referenced (const Referenced &)
Referenced & | operator= (const Referenced &)
void | setThreadSafeRefUnref (bool threadSafe)
| Set whether to use a mutex to ensure ref() and unref() are thread safe.
bool | getThreadSafeRefUnref () const
| Get whether a mutex is used to ensure ref() and unref() are thread safe.
void | ref () const
| Increment the reference count by one, indicating that this object has another pointer which is referencing it.
void | unref () const
| Decrement the reference count by one, indicating that a pointer to this object is referencing it.
void | unref_nodelete () const
| Decrement the reference count by one, indicating that a pointer to this object is referencing it.
int | referenceCount () const
| Return the number pointers currently referencing this object.
## Static Public Member Functions
void | setThreadSafeReferenceCounting (bool enableThreadSafeReferenceCounting)
| Set whether reference counting should be use a mutex to create thread reference counting.
bool | getThreadSafeReferenceCounting ()
| Get whether reference counting is active.
void | setDeleteHandler (DeleteHandler *handler)
| Set a DeleteHandler to which deletion of all referenced counted objects will be delegated to.
DeleteHandler * | getDeleteHandler ()
| Get a DeleteHandler.
## Protected Member Functions
virtual | ~Referenced ()
## Protected Attributes
OpenThreads::Mutex * | _refMutex
int | _refCount

## Detailed Description

Base class from providing referencing counted objects.

## Constructor & Destructor Documentation

osg::Referenced::Referenced | ( |  | ) |

osg::Referenced::Referenced | ( | const Referenced & |  | ) |

virtual osg::Referenced::~Referenced | ( |  | ) | `[protected, virtual]`

## Member Function Documentation

DeleteHandler* osg::Referenced::getDeleteHandler | ( |  | ) | `[static]`

| Get a DeleteHandler.

bool osg::Referenced::getThreadSafeReferenceCounting | ( |  | ) | `[static]`

| Get whether reference counting is active.

bool osg::Referenced::getThreadSafeRefUnref | ( |  | ) | const`[inline]`

| Get whether a mutex is used to ensure ref() and unref() are thread safe.

Referenced& osg::Referenced::operator= | ( | const Referenced & |  | ) | `[inline]`

void osg::Referenced::ref | ( |  | ) | const`[inline]`

| Increment the reference count by one, indicating that this object has another pointer which is referencing it.

int osg::Referenced::referenceCount | ( |  | ) | const`[inline]`

| Return the number pointers currently referencing this object.

void osg::Referenced::setDeleteHandler | ( | DeleteHandler * | handler | ) | `[static]`

| Set a DeleteHandler to which deletion of all referenced counted objects will be delegated to.

void osg::Referenced::setThreadSafeReferenceCounting | ( | bool | enableThreadSafeReferenceCounting | ) | `[static]`

| Set whether reference counting should be use a mutex to create thread reference counting.

void osg::Referenced::setThreadSafeRefUnref | ( | bool | threadSafe | ) |

| Set whether to use a mutex to ensure ref() and unref() are thread safe.

void osg::Referenced::unref | ( |  | ) | const`[inline]`

| Decrement the reference count by one, indicating that a pointer to this object is referencing it. If the reference count goes to zero, it is assumed that this object is no longer referenced and is automatically deleted.

void osg::Referenced::unref_nodelete | ( |  | ) | const

| Decrement the reference count by one, indicating that a pointer to this object is referencing it. However, do not delete it, even if ref count goes to 0. Warning, unref_nodelete() should only be called if the user knows exactly who will be resonsible for, one should prefer unref() over unref_nodelete() as the later can lead to memory leaks.

## Member Data Documentation

int osg::Referenced::_refCount`[mutable, protected]`

OpenThreads::Mutex* osg::Referenced::_refMutex`[mutable, protected]`

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

- Referenced