Qore Programming Language 1.14.0
|
a templated class to manage a reference count of an object that can throw a Qore-language exception when dereferenced More...
#include <ReferenceHolder.h>
Public Member Methods | |
DLLLOCAL | ReferenceHolder (ExceptionSink *xsink_) |
creates an empty ReferenceHolder | |
DLLLOCAL | ReferenceHolder (T *p_, ExceptionSink *xsink_) |
populates with object with data and the ExceptionSink pointer | |
DLLLOCAL | ~ReferenceHolder () |
calls deref(ExceptionSink *) on the pointer being managed if not 0 | |
DLLLOCAL T ** | getPtrPtr () |
returns a pointer to the pointer being managed | |
DLLLOCAL T *& | getRef () |
returns a reference to the ptr being managed | |
DLLLOCAL | operator bool () const |
returns true if a non-0 pointer is being managed | |
DLLLOCAL T * | operator* () |
returns the pointer being managed | |
DLLLOCAL const T * | operator* () const |
returns the pointer being managed | |
DLLLOCAL T * | operator-> () |
returns the pointer being managed | |
DLLLOCAL const T * | operator-> () const |
returns the pointer being managed | |
DLLLOCAL void | operator= (T *nv) |
assigns a new pointer to the holder, dereferences the current pointer if any | |
DLLLOCAL T * | release () |
releases the pointer to the caller | |
DLLLOCAL T * | swap (T *val) |
swaps the current value for a new one More... | |
a templated class to manage a reference count of an object that can throw a Qore-language exception when dereferenced
the destructor will call deref(ExceptionSink *)
|
inline |
swaps the current value for a new one