ICU 64.2
64.2
|
"Smart pointer" base class; do not use directly: use LocalPointer etc. More...
#include <localpointer.h>
Public Member Functions | |
LocalPointerBase (T *p=NULL) | |
Constructor takes ownership. More... | |
~LocalPointerBase () | |
Destructor deletes the object it owns. More... | |
UBool | isNull () const |
NULL check. More... | |
UBool | isValid () const |
NULL check. More... | |
bool | operator== (const T *other) const |
Comparison with a simple pointer, so that existing code with ==NULL need not be changed. More... | |
bool | operator!= (const T *other) const |
Comparison with a simple pointer, so that existing code with !=NULL need not be changed. More... | |
T * | getAlias () const |
Access without ownership change. More... | |
T & | operator* () const |
Access without ownership change. More... | |
T * | operator-> () const |
Access without ownership change. More... | |
T * | orphan () |
Gives up ownership; the internal pointer becomes NULL. More... | |
void | adoptInstead (T *p) |
Deletes the object it owns, and adopts (takes ownership of) the one passed in. More... | |
Static Public Member Functions | |
static void * | operator new (size_t)=delete |
static void * | operator new[] (size_t)=delete |
Protected Attributes | |
T * | ptr |
Actual pointer. More... | |
"Smart pointer" base class; do not use directly: use LocalPointer etc.
Base class for smart pointer classes that do not throw exceptions.
Do not use this base class directly, since it does not delete its pointer. A subclass must implement methods that delete the pointer: Destructor and adoptInstead().
There is no operator T *() provided because the programmer must decide whether to use getAlias() (without transfer of ownership) or orphan() (with transfer of ownership and NULLing of the pointer).
Definition at line 68 of file localpointer.h.
|
inlineexplicit |
Constructor takes ownership.
p | simple pointer to an object that is adopted |
Definition at line 82 of file localpointer.h.
|
inline |
Destructor deletes the object it owns.
Subclass must override: Base class does nothing.
Definition at line 88 of file localpointer.h.
|
inline |
Deletes the object it owns, and adopts (takes ownership of) the one passed in.
Subclass must override: Base class does not delete the object.
p | simple pointer to an object that is adopted |
Definition at line 153 of file localpointer.h.
|
inline |
Access without ownership change.
Definition at line 122 of file localpointer.h.
|
inline |
NULL check.
Definition at line 94 of file localpointer.h.
References NULL.
|
inline |
NULL check.
Definition at line 100 of file localpointer.h.
References NULL.
|
inline |
Comparison with a simple pointer, so that existing code with !=NULL need not be changed.
other | simple pointer for comparison |
Definition at line 116 of file localpointer.h.
|
inline |
Access without ownership change.
Definition at line 128 of file localpointer.h.
|
inline |
Access without ownership change.
Definition at line 134 of file localpointer.h.
|
inline |
Comparison with a simple pointer, so that existing code with ==NULL need not be changed.
other | simple pointer for comparison |
Definition at line 108 of file localpointer.h.
|
inline |
Gives up ownership; the internal pointer becomes NULL.
Definition at line 141 of file localpointer.h.
References NULL.
|
protected |
Actual pointer.
Definition at line 162 of file localpointer.h.
Referenced by icu::LocalArray< T >::LocalArray(), icu::LocalPointer< T >::LocalPointer(), icu::LocalPointer< T >::operator=(), icu::LocalArray< T >::operator=(), icu::LocalPointer< T >::swap(), and icu::LocalArray< T >::swap().