ICU 62.1
62.1
|
"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... | |
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 66 of file localpointer.h.
|
inlineexplicit |
Constructor takes ownership.
p | simple pointer to an object that is adopted |
Definition at line 73 of file localpointer.h.
|
inline |
Destructor deletes the object it owns.
Subclass must override: Base class does nothing.
Definition at line 79 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 144 of file localpointer.h.
|
inline |
Access without ownership change.
Definition at line 113 of file localpointer.h.
|
inline |
NULL check.
Definition at line 85 of file localpointer.h.
References NULL.
|
inline |
NULL check.
Definition at line 91 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 107 of file localpointer.h.
|
inline |
Access without ownership change.
Definition at line 119 of file localpointer.h.
|
inline |
Access without ownership change.
Definition at line 125 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 99 of file localpointer.h.
|
inline |
Gives up ownership; the internal pointer becomes NULL.
Definition at line 132 of file localpointer.h.
References NULL.
|
protected |
Actual pointer.
Definition at line 153 of file localpointer.h.
Referenced by icu::LocalArray< T >::LocalArray(), icu::LocalPointer< T >::LocalPointer(), icu::LocalPointer< T >::moveFrom(), icu::LocalArray< T >::moveFrom(), icu::LocalPointer< T >::swap(), and icu::LocalArray< T >::swap().