ICU 4.8.1.1  4.8.1.1
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Static Public Member Functions
UMemory Class Reference

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

#include <uobject.h>

Inheritance diagram for UMemory:
AlphabeticIndex::Bucket AlphabeticIndex::Record ByteSink BytesTrie BytesTrie::Iterator BytesTrie::State ErrorCode IDNAInfo MessagePattern::Part StringPiece UCharsTrie UCharsTrie::Iterator UCharsTrie::State UObject

Static Public Member Functions

static void * operator new (size_t size)
 Override for ICU4C C++ memory management. More...
 
static void * operator new[] (size_t size)
 Override for ICU4C C++ memory management. More...
 
static void operator delete (void *p)
 Override for ICU4C C++ memory management. More...
 
static void operator delete[] (void *p)
 Override for ICU4C C++ memory management. More...
 
static void * operator new (size_t, void *ptr)
 Override for ICU4C C++ memory management for STL. More...
 
static 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.

Stable:
ICU 2.4

Definition at line 101 of file uobject.h.

Member Function Documentation

static 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

Stable:
ICU 2.4
static void UMemory::operator delete ( void *  ,
void *   
)
inlinestatic

Override for ICU4C C++ memory management for STL.

See delete().

Stable:
ICU 2.6

Definition at line 159 of file uobject.h.

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

Override for ICU4C C++ memory management.

See delete().

Stable:
ICU 2.4
static 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

Stable:
ICU 2.4
static void* UMemory::operator new ( size_t  ,
void *  ptr 
)
inlinestatic

Override for ICU4C C++ memory management for STL.

See new().

Stable:
ICU 2.6

Definition at line 152 of file uobject.h.

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

Override for ICU4C C++ memory management.

See new().

Stable:
ICU 2.4

The documentation for this class was generated from the following file: