icu::UMemory Class Reference

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

#include <uobject.h>

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

Static Public Member Functions

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

Stable:
ICU 2.4

Definition at line 115 of file uobject.h.


Member Function Documentation

static void icu::UMemory::operator delete ( void *  ,
void *   
) [inline, static]

Override for ICU4C C++ memory management for STL.

See delete().

Stable:
ICU 2.6

Definition at line 173 of file uobject.h.

static void icu::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 icu::UMemory::operator delete[] ( void *  p  )  [static]

Override for ICU4C C++ memory management.

See delete().

Stable:
ICU 2.4
static void* icu::UMemory::operator new ( size_t  ,
void *  ptr 
) [inline, static]

Override for ICU4C C++ memory management for STL.

See new().

Stable:
ICU 2.6

Definition at line 166 of file uobject.h.

static void* icu::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* icu::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:

Generated on 4 Dec 2017 for ICU 50.1.2 by  doxygen 1.6.1