ICU 50.1.2
50.1.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... | |
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 orpan() (with transfer of ownership and NULLing of the pointer).
Definition at line 64 of file localpointer.h.
|
inlineexplicit |
Constructor takes ownership.
p | simple pointer to an object that is adopted |
Definition at line 71 of file localpointer.h.
|
inline |
Destructor deletes the object it owns.
Subclass must override: Base class does nothing.
Definition at line 77 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 142 of file localpointer.h.
|
inline |
Access without ownership change.
Definition at line 111 of file localpointer.h.
|
inline |
NULL check.
Definition at line 83 of file localpointer.h.
References NULL.
|
inline |
NULL check.
Definition at line 89 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 105 of file localpointer.h.
|
inline |
Access without ownership change.
Definition at line 117 of file localpointer.h.
|
inline |
Access without ownership change.
Definition at line 123 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 97 of file localpointer.h.
|
inline |
Gives up ownership; the internal pointer becomes NULL.
Definition at line 130 of file localpointer.h.
References NULL.
|
protected |
Actual pointer.
Definition at line 151 of file localpointer.h.