icu::LocalPointer< T > Class Template Reference

"Smart pointer" class, deletes objects via the standard C++ delete operator. More...

#include <localpointer.h>

Inheritance diagram for icu::LocalPointer< T >:

icu::LocalPointerBase< T >

Public Member Functions

 LocalPointer (T *p=NULL)
 Constructor takes ownership.
 ~LocalPointer ()
 Destructor deletes the object it owns.
void adoptInstead (T *p)
 Deletes the object it owns, and adopts (takes ownership of) the one passed in.

Detailed Description

template<typename T>
class icu::LocalPointer< T >

"Smart pointer" class, deletes objects via the standard C++ delete operator.

For most methods see the LocalPointerBase base class.

Usage example:

 LocalPointer<UnicodeString> s(new UnicodeString((UChar32)0x50005));
 int32_t length=s->length();  // 2
 UChar lead=s->charAt(0);  // 0xd900
 if(some condition) { return; }  // no need to explicitly delete the pointer
 s.adoptInstead(new UnicodeString((UChar)0xfffc));
 length=s->length();  // 1
 // no need to explicitly delete the pointer

See also:
LocalPointerBase
Stable:
ICU 4.4

Definition at line 186 of file localpointer.h.


Constructor & Destructor Documentation

template<typename T>
icu::LocalPointer< T >::LocalPointer ( T *  p = NULL  )  [inline, explicit]

Constructor takes ownership.

Parameters:
p simple pointer to an object that is adopted
Stable:
ICU 4.4

Definition at line 193 of file localpointer.h.

template<typename T>
icu::LocalPointer< T >::~LocalPointer (  )  [inline]

Destructor deletes the object it owns.

Stable:
ICU 4.4

Definition at line 198 of file localpointer.h.


Member Function Documentation

template<typename T>
void icu::LocalPointer< T >::adoptInstead ( T *  p  )  [inline]

Deletes the object it owns, and adopts (takes ownership of) the one passed in.

Parameters:
p simple pointer to an object that is adopted
Stable:
ICU 4.4

Reimplemented from icu::LocalPointerBase< T >.

Definition at line 207 of file localpointer.h.


The documentation for this class was generated from the following file:
Generated on 27 Oct 2013 for ICU 50.1.2 by  doxygen 1.4.7