Main Page | Class Hierarchy | Alphabetical List | Data Structures | File List | Data Fields | Globals

UMemory Class Reference

UMemory is the common ICU base class. More...

#include <uobject.h>

Inheritance diagram for UMemory:

Inheritance graph
[legend]

Static Public Member Functions

void *U_EXPORT2 operator new (size_t size)
 Override for ICU4C C++ memory management.
void *U_EXPORT2 operator new[] (size_t size)
 Override for ICU4C C++ memory management.
void U_EXPORT2 operator delete (void *p)
 Override for ICU4C C++ memory management.
void U_EXPORT2 operator delete[] (void *p)
 Override for ICU4C C++ memory management.
void *U_EXPORT2 operator new (size_t, void *ptr)
 Override for ICU4C C++ memory management for STL.
void U_EXPORT2 operator delete (void *, void *)
 Override for ICU4C C++ memory management for STL.

Detailed Description

UMemory is the common ICU base class.

All other ICU C++ classes are derived from UMemory (starting with ICU 2.4).

This is primarily to make it possible and simple to override the C++ memory management by adding new/delete operators to this base class.

To override ALL ICU memory management, including that from plain C code, replace the allocation functions declared in cmemory.h

UMemory does not contain any virtual functions. Common "boilerplate" functions are defined in UObject.

ICU_Stable:
ICU 2.4

Definition at line 70 of file uobject.h.


Member Function Documentation

void U_EXPORT2 UMemory::operator delete void *  ,
void * 
[inline, static]
 

Override for ICU4C C++ memory management for STL.

See delete().

ICU_Stable:
ICU 2.6

Definition at line 127 of file uobject.h.

void U_EXPORT2 UMemory::operator delete void *  p  )  [static]
 

Override for ICU4C C++ memory management.

simple, non-class types are allocated using the macros in common/cmemory.h (uprv_malloc(), uprv_free(), uprv_realloc()); they or something else could be used here to implement C++ new/delete for ICU4C C++ classes

ICU_Stable:
ICU 2.4

void U_EXPORT2 UMemory::operator delete[] void *  p  )  [static]
 

Override for ICU4C C++ memory management.

See delete().

ICU_Stable:
ICU 2.4

void* U_EXPORT2 UMemory::operator new size_t  ,
void *  ptr
[inline, static]
 

Override for ICU4C C++ memory management for STL.

See new().

ICU_Stable:
ICU 2.6

Definition at line 119 of file uobject.h.

void* U_EXPORT2 UMemory::operator new size_t  size  )  [static]
 

Override for ICU4C C++ memory management.

simple, non-class types are allocated using the macros in common/cmemory.h (uprv_malloc(), uprv_free(), uprv_realloc()); they or something else could be used here to implement C++ new/delete for ICU4C C++ classes

ICU_Stable:
ICU 2.4

void* U_EXPORT2 UMemory::operator new[] size_t  size  )  [static]
 

Override for ICU4C C++ memory management.

See new().

ICU_Stable:
ICU 2.4


The documentation for this class was generated from the following file:
Generated on Tue Jul 26 00:44:26 2005 for ICU 3.2 by  doxygen 1.3.9.1