Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members   Search  

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 LayoutEngine LEFontInstance Locale Normalizer NumberFormatFactory ParagraphLayout ParagraphLayout::Line ParagraphLayout::VisualRun ParsePosition RegexMatcher RegexPattern Replaceable ResourceBundle RunArray SearchIterator StringEnumeration TimeZone Transliterator UnicodeFunctor UnicodeSetIterator List of all members.

Static Public Methods

void * operator new (size_t size)
 Override for ICU4C C++ memory management. More...

void * operator new[] (size_t size)
 Override for ICU4C C++ memory management. More...

void operator delete (void *p)
 Override for ICU4C C++ memory management. More...

void operator delete[] (void *p)
 Override for ICU4C C++ memory management. More...

void * operator new (size_t, void *ptr)
 Override for ICU4C C++ memory management for STL. More...

void operator delete (void *, void *)
 Override for ICU4C C++ memory management for STL. More...


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.

Draft:
This API has been introduced in ICU 2.4. It is still in draft state and may be modified in a future release.

Definition at line 67 of file uobject.h.


Member Function Documentation

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

Override for ICU4C C++ memory management for STL.

See delete().

Draft:
This API has been introduced in ICU 2.6. It is still in draft state and may be modified in a future release.

Definition at line 118 of file uobject.h.

void 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

Draft:
This API has been introduced in ICU 2.4. It is still in draft state and may be modified in a future release.

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

Override for ICU4C C++ memory management.

See delete().

Draft:
This API has been introduced in ICU 2.4. It is still in draft state and may be modified in a future release.

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

Override for ICU4C C++ memory management for STL.

See new().

Draft:
This API has been introduced in ICU 2.6. It is still in draft state and may be modified in a future release.

Definition at line 111 of file uobject.h.

void* 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

Draft:
This API has been introduced in ICU 2.4. It is still in draft state and may be modified in a future release.

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

Override for ICU4C C++ memory management.

See new().

Draft:
This API has been introduced in ICU 2.4. It is still in draft state and may be modified in a future release.


The documentation for this class was generated from the following file:
Generated on Mon Nov 24 14:37:00 2003 for ICU 2.8 by doxygen1.2.11.1 written by Dimitri van Heesch, © 1997-2001