Chombo + EB
3.0
|
A reference-counting handle class. More...
#include <RefCountedPtr.H>
Public Member Functions | |
RefCountedPtr (T *ptr=0) | |
RefCountedPtr (const RefCountedPtr< T > &other) | |
~RefCountedPtr () | |
const RefCountedPtr< T > & | operator= (const RefCountedPtr< T > &rhs) |
assignement operator. copies pointer member More... | |
T * | operator-> () |
dereference access operator. use like a pointer derefence access function. More... | |
const T * | operator-> () const |
bool | isNull () const |
T & | operator* () |
pointer dereference. More... | |
const T & | operator* () const |
operator const T * () const | |
auto conversion to regular const pointer where required. More... | |
bool | isNonUnique () const |
true when refcount is one. More... | |
int | refCount () const |
void | swap (RefCountedPtr< T > &b) |
template<class T2 > | |
operator RefCountedPtr< T2 > () | |
Template Conversion. More... | |
void | neverDelete () |
void | increment () |
void | decrement () |
Static Public Member Functions | |
static const std::string & | name () |
Protected Attributes | |
T * | ptr_ |
int * | refCount_ |
Static Protected Attributes | |
static std::string | name_ |
static BArena | s_Arena |
static int | size_ = sizeof(T)+2*sizeof(int) |
Friends | |
template<class T2 > | |
class | RefCountedPtr |
A reference-counting handle class.
This is to be used as a pointer to class T. This will feel and smell just like a built-in pointer except:
This class is completely inlined.
typical usage:
|
inlineexplicit |
|
inline |
References RefCountedPtr< T >::refCount_.
|
inline |
|
inline |
assignement operator. copies pointer member
copies pointer member and integer pointer, decreases refcount of rhs member before assignment. this refcount increased my one.
References RefCountedPtr< T >::decrement(), RefCountedPtr< T >::ptr_, and RefCountedPtr< T >::refCount_.
|
inline |
dereference access operator. use like a pointer derefence access function.
References MayDay::Error(), and RefCountedPtr< T >::ptr_.
|
inline |
References MayDay::Error(), and RefCountedPtr< T >::ptr_.
|
inline |
References RefCountedPtr< T >::ptr_.
Referenced by Scheduler::PeriodicFunctionLessThan::operator()(), and BCHolder::setTime().
|
inline |
pointer dereference.
References MayDay::Error(), and RefCountedPtr< T >::ptr_.
|
inline |
References MayDay::Error(), and RefCountedPtr< T >::ptr_.
|
inline |
auto conversion to regular const pointer where required.
References RefCountedPtr< T >::ptr_.
|
inline |
true when refcount is one.
References RefCountedPtr< T >::refCount_.
|
inline |
References RefCountedPtr< T >::refCount_.
Referenced by BoxLayout::refCount().
|
inline |
References RefCountedPtr< T >::ptr_, and RefCountedPtr< T >::refCount_.
Template Conversion.
provides a mechanism for the compiler to generate a conversion to a base class, like a real pointer would have
References CH_assert, RefCountedPtr< T >::ptr_, RefCountedPtr< T >::refCount_, and RefCountedPtr< T >::s_Arena.
|
inline |
References RefCountedPtr< T >::refCount_.
|
inlinestatic |
|
inline |
References RefCountedPtr< T >::refCount_, RefCountedPtr< T >::s_Arena, and RefCountedPtr< T >::size_.
Referenced by RefCountedPtr< T >::RefCountedPtr().
|
inline |
References RefCountedPtr< T >::refCount_, and RefCountedPtr< T >::s_Arena.
Referenced by RefCountedPtr< T >::operator=(), and RefCountedPtr< T >::~RefCountedPtr().
|
protected |
Referenced by RefCountedPtr< T >::isNull(), RefCountedPtr< T >::operator const T *(), RefCountedPtr< T >::operator RefCountedPtr< T2 >(), RefCountedPtr< T >::operator*(), RefCountedPtr< T >::operator->(), RefCountedPtr< T >::operator=(), RefCountedPtr< T >::RefCountedPtr(), RefCountedPtr< T >::swap(), and RefCountedPtr< T >::~RefCountedPtr().
|
protected |
Referenced by RefCountedPtr< T >::decrement(), RefCountedPtr< T >::increment(), RefCountedPtr< T >::isNonUnique(), RefCountedPtr< T >::neverDelete(), RefCountedPtr< T >::operator RefCountedPtr< T2 >(), RefCountedPtr< T >::operator=(), RefCountedPtr< T >::refCount(), RefCountedPtr< T >::RefCountedPtr(), RefCountedPtr< T >::swap(), and RefCountedPtr< T >::~RefCountedPtr().
|
staticprotected |
Referenced by RefCountedPtr< DataFactory< NodeFArrayBox > >::name().
|
staticprotected |
|
staticprotected |
Referenced by RefCountedPtr< T >::increment().