#include <source/toolbox/memory/ConstPointer.h>
Inheritance diagram for SAMRAI::tbox::ConstPointer< TYPE >:
Public Member Functions | |
ConstPointer () | |
ConstPointer (const TYPE *ptr, const bool managed=true) | |
ConstPointer (const TYPE *ptr, const Pointer< Arena > &pool) | |
ConstPointer (const ConstPointer< TYPE > &ptr) | |
ConstPointer (const ConstPointerBase &ptr) | |
~ConstPointer () | |
ConstPointer< TYPE > & | operator= (const ConstPointer< TYPE > &ptr) |
ConstPointer< TYPE > & | operator= (const TYPE *ptr) |
ConstPointer< TYPE > & | operator= (const ConstPointerBase &ptr) |
bool | operator== (const ConstPointer< TYPE > &rhs) const |
bool | operator!= (const ConstPointer< TYPE > &rhs) const |
const TYPE * | operator-> () const |
const TYPE & | operator * () const |
operator const TYPE * () const | |
const TYPE * | getPointer () const |
bool | isNull () const |
operator bool () const | |
bool | operator! () const |
void | setNull () |
ReferenceCounter * | getReferenceCounter () const |
Const pointers can be created from either const or non-const pointers. The non-const and const pointer classes have been designed so that an attempted conversion from a const pointer into a non-const pointer causes a compile-time error.
Class ConstPointer<TYPE> performs type-checking when assigning pointers of different TYPEs. If a bad type conversion is performed, then the destination pointer is set to NULL.
SAMRAI::tbox::ConstPointer< TYPE >::ConstPointer | ( | ) | [inline] |
The default constructor creates a null pointer.
SAMRAI::tbox::ConstPointer< TYPE >::ConstPointer | ( | const TYPE * | ptr, | |
const bool | managed = true | |||
) |
Create a smart pointer with value ptr. If managed is true, then deallocation of the object pointed to by ptr will be taken care of by the smart pointer. This form assumes the pointer was allocated using the standard new operator.
SAMRAI::tbox::ConstPointer< TYPE >::ConstPointer | ( | const TYPE * | ptr, | |
const Pointer< Arena > & | pool | |||
) |
Create a smart pointer for which the data was allocated from pool. When the pointer is destroyed, the object is deallocated from the specified memory pool.
SAMRAI::tbox::ConstPointer< TYPE >::ConstPointer | ( | const ConstPointer< TYPE > & | ptr | ) | [inline] |
The pointer const constructor creates a smart pointer reference aliased to the argument.
SAMRAI::tbox::ConstPointer< TYPE >::ConstPointer | ( | const ConstPointerBase & | ptr | ) |
Create a pointer by attempting to type-cast the argument to TYPE. If the type-cast fails, then the destination pointer will be set to NULL.
SAMRAI::tbox::ConstPointer< TYPE >::~ConstPointer | ( | ) | [inline] |
The pointer destructor frees the pointer data if the reference count drops to zero. The object is deallocated from the memory pool (if it was specified in the constructor call).
ConstPointer< TYPE > & SAMRAI::tbox::ConstPointer< TYPE >::operator= | ( | const ConstPointer< TYPE > & | ptr | ) | [inline] |
Smart pointer assignment. The left hand side points to the right hand side and the reference count is incremented by one.
ConstPointer< TYPE > & SAMRAI::tbox::ConstPointer< TYPE >::operator= | ( | const TYPE * | ptr | ) |
Create a managed smart pointer with value ptr. The object pointed to by ptr will be deallocated via delete when the reference count goes to zero.
ConstPointer< TYPE > & SAMRAI::tbox::ConstPointer< TYPE >::operator= | ( | const ConstPointerBase & | ptr | ) |
Attempt to convert the argument pointer to a ConstPointer<TYPE>. If the type conversion fails, then the destination pointer will be set to NULL.
bool SAMRAI::tbox::ConstPointer< TYPE >::operator== | ( | const ConstPointer< TYPE > & | rhs | ) | const [inline] |
Check whether two smart pointers point to the same object.
bool SAMRAI::tbox::ConstPointer< TYPE >::operator!= | ( | const ConstPointer< TYPE > & | rhs | ) | const [inline] |
Check whether two smart pointers point to different objects.
const TYPE * SAMRAI::tbox::ConstPointer< TYPE >::operator-> | ( | ) | const [inline] |
Delegate member operations to the pointed-to object. C++ defines the ``->'' operator in a funny way to support delegation. The statement ptr->foo() acts as if ptr where actually a pointer to an object with member function foo() instead of a class that holds that pointer.
const TYPE & SAMRAI::tbox::ConstPointer< TYPE >::operator * | ( | ) | const [inline] |
Dereference the smart pointer. The pointer returned is a const pointer to the object.
SAMRAI::tbox::ConstPointer< TYPE >::operator const TYPE * | ( | ) | const [inline] |
Implicit conversion of the smart pointer to the pointed-to object. The pointer returned is a const pointer to the object.
const TYPE * SAMRAI::tbox::ConstPointer< TYPE >::getPointer | ( | ) | const [inline] |
Explicitly convert the smart pointer to the pointed-to object. The pointer returned is a const pointer to the object.
bool SAMRAI::tbox::ConstPointer< TYPE >::isNull | ( | ) | const [inline] |
Check whether the smart pointer points to NULL.
SAMRAI::tbox::ConstPointer< TYPE >::operator bool | ( | ) | const [inline] |
Return true if the pointer is non-NULL.
bool SAMRAI::tbox::ConstPointer< TYPE >::operator! | ( | ) | const [inline] |
Return true if the pointer is NULL and false otherwise. This operator mimics the semantics of !p applied to a (regular) pointer p.
void SAMRAI::tbox::ConstPointer< TYPE >::setNull | ( | ) | [inline] |
Set the smart pointer to NULL.
ReferenceCounter * SAMRAI::tbox::ConstPointer< TYPE >::getReferenceCounter | ( | ) | const [inline] |
Return a pointer to the internal reference counter. This routine should not be called by the casual user.