UMemory Class Reference

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

#include <uobject.h>

Inheritance diagram for UMemory:

UObject BreakIterator Calendar CanonicalIterator CollationElementIterator CollationKey Collator CollatorFactory DateFormatSymbols DecimalFormatSymbols FieldPosition Format Formattable ForwardCharacterIterator ICULayoutEngine Locale Measure MeasureUnit Normalizer NumberFormatFactory ParsePosition RegexMatcher RegexPattern Replaceable ResourceBundle SearchIterator StringEnumeration TimeZone Transliterator UnicodeFunctor UnicodeSetIterator

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 Nov 16 10:03:22 2004 for ICU 3.2 by  doxygen 1.3.9.1