X-Git-Url: https://git.saurik.com/apple/icu.git/blobdiff_plain/b75a7d8f3b4adbae880cab104ce2c6a50eee4db2..6de34a005df0e4a02d88750703b950237b77d9c8:/icuSources/common/uobject.cpp?ds=sidebyside diff --git a/icuSources/common/uobject.cpp b/icuSources/common/uobject.cpp index e425c881..581cd742 100644 --- a/icuSources/common/uobject.cpp +++ b/icuSources/common/uobject.cpp @@ -1,7 +1,7 @@ /* ****************************************************************************** * -* Copyright (C) 2002, International Business Machines +* Copyright (C) 2002-2004, International Business Machines * Corporation and others. All Rights Reserved. * ****************************************************************************** @@ -15,13 +15,12 @@ */ #include "unicode/uobject.h" - -#if U_OVERRIDE_CXX_ALLOCATION - #include "cmemory.h" U_NAMESPACE_BEGIN +#if U_OVERRIDE_CXX_ALLOCATION + /* * Default implementation of UMemory::new/delete * using uprv_malloc() and uprv_free(). @@ -57,27 +56,48 @@ U_NAMESPACE_BEGIN * and replace with uprv_malloc/uprv_free. */ -void *UMemory::operator new(size_t size) { +void * U_EXPORT2 UMemory::operator new(size_t size) { return uprv_malloc(size); } -void UMemory::operator delete(void *p) { +void U_EXPORT2 UMemory::operator delete(void *p) { if(p!=NULL) { uprv_free(p); } } -void *UMemory::operator new[](size_t size) { +void * U_EXPORT2 UMemory::operator new[](size_t size) { return uprv_malloc(size); } -void UMemory::operator delete[](void *p) { +void U_EXPORT2 UMemory::operator delete[](void *p) { if(p!=NULL) { uprv_free(p); } } +#endif + +UObject::~UObject() {} + +// Future implementation for RTTI that support subtyping. [alan] +// +// UClassID UObject::getStaticClassID() { +// return (UClassID) NULL; +// } +// +// UBool UObject::instanceOf(UClassID type) const { +// UClassID c = getDynamicClassID(); +// for (;;) { +// if (c == type) { +// return TRUE; +// } else if (c == (UClassID) NULL) { +// return FALSE; +// } +// c = * (UClassID*) c; +// } +// } + U_NAMESPACE_END -#endif