Rogue Wave Views 5.6 |
Rogue Wave Views |
Rogue Wave Views Documentation Home |
Non-intrusive Reference Counter smart pointer. More...
#include <ilviews/util/refcount.h>
Inherited by IlvInitializedRefCountPtr< LOCKABLE >.
Public Member Functions | |
IlvRefCountPtr (const IlvRefCountPtr &src) | |
The copy constructor. | |
IlvRefCountPtr (LOCKABLE *ptr=0) | |
The default constructor. | |
~IlvRefCountPtr () | |
The destructor. | |
LOCKABLE * | get () const |
This function returns a pointer to the object pointed to by this instance. | |
LOCKABLE & | operator* () const |
The dereference operator. | |
LOCKABLE * | operator-> () const |
The structure pointer dereference operator. | |
IlvRefCountPtr & | operator= (LOCKABLE *ptr) |
The assignment operator from a pointer to an object. | |
IlvRefCountPtr & | operator= (const IlvRefCountPtr &src) |
The assignment operator from another IlvRefCountPtr . |
Non-intrusive Reference Counter smart pointer.
Library: display
This template class is adapted from the class shared_ptr
of Boost
. A counter keeps the number of references to this object. As soon as the counter is decreased to 0
, the object is deleted. Of course the only way to reference this object must be by means of an IlvRefCountPtr
, otherwise dangling pointers could exist.
IlvRefCountPtr< LOCKABLE >::IlvRefCountPtr | ( | LOCKABLE * | ptr = 0 |
) |
The default constructor.
This constructor should be called only once for an object. Other instances must be built by the copy constructor.
ptr | A pointer to an object of type LOCKABLE given as parameter of the template. |
IlvRefCountPtr< LOCKABLE >::IlvRefCountPtr | ( | const IlvRefCountPtr< LOCKABLE > & | src | ) |
The copy constructor.
This constructor is called to create a new instance that will share the same object as src. The counter is incremented.
ptr | A const reference to an IlvRefCountPtr of the same type LOCKABLE given as parameter of the template. |
IlvRefCountPtr::IlvRefCountPtr(LOCKABLE* ptr = 0)
. IlvRefCountPtr< LOCKABLE >::~IlvRefCountPtr | ( | ) |
The destructor.
The destructor first decrements the counter. If the count reaches 0
, the object pointed to by this instance is deleted.
LOCKABLE* IlvRefCountPtr< LOCKABLE >::get | ( | ) | const |
This function returns a pointer to the object pointed to by this instance.
LOCKABLE& IlvRefCountPtr< LOCKABLE >::operator* | ( | ) | const |
The dereference operator.
This operator returns a reference to the object pointed to by this instance. It lets this class behave as if it were a pointer.
LOCKABLE* IlvRefCountPtr< LOCKABLE >::operator-> | ( | ) | const |
The structure pointer dereference operator.
This operator returns a pointer to the object pointed to by this instance. It lets this class behave as if it was a pointer.
IlvRefCountPtr& IlvRefCountPtr< LOCKABLE >::operator= | ( | LOCKABLE * | ptr | ) |
The assignment operator from a pointer to an object.
This operator stores a pointer to the object with a counter set to 1
. If a previous object was already pointed to, then its counter is decremented, and the object is deleted in case the counter reaches 0
.
WARNINGAn object already associated with an instance of IlvRefCountPtr
must never be assigned to another instance of IlvRefCountPtr
with this operator. It must be done through the other form of the operator=.
ptr | A pointer to a LOCKABLE object to be pointed to. |
IlvRefCountPtr& IlvRefCountPtr< LOCKABLE >::operator= | ( | const IlvRefCountPtr< LOCKABLE > & | src | ) |
The assignment operator from another IlvRefCountPtr
.
This operator stores the pointer to the object and the counter of the src. The counter is incremented. If a previous object was already pointed to, then its counter is decremented, and the object is deleted in case the counter reaches 0
.
ptr | A const reference to this IlvRefCountPtr . |
© Copyright 2012, Rogue Wave Software, Inc. All Rights Reserved.
Rogue Wave is a registered trademark of Rogue Wave Software, Inc. in the United States and other countries. All other trademarks are the property of their respective owners.