42 #define U_NO_THROW throw()
119 #ifdef SHAPER_MEMORY_DEBUG
120 static void * NewArray(
int size,
int count);
121 static void * GrowArray(
void * array,
int newSize );
122 static void FreeArray(
void * array );
125 #if U_OVERRIDE_CXX_ALLOCATION
134 static void * U_EXPORT2
operator new(
size_t size) U_NO_THROW;
141 static void * U_EXPORT2
operator new[](
size_t size) U_NO_THROW;
151 static void U_EXPORT2
operator delete(
void *p) U_NO_THROW;
158 static void U_EXPORT2
operator delete[](
void *p) U_NO_THROW;
160 #if U_HAVE_PLACEMENT_NEW
166 static inline void * U_EXPORT2
operator new(size_t,
void *ptr) U_NO_THROW {
return ptr; }
173 static inline void U_EXPORT2
operator delete(
void *,
void *) U_NO_THROW {}
175 #if U_HAVE_DEBUG_LOCATION_NEW
183 static void * U_EXPORT2
operator new(
size_t size,
const char* file,
int line) U_NO_THROW;
191 static void U_EXPORT2
operator delete(
void* p,
const char* file,
int line) U_NO_THROW;
243 virtual UClassID getDynamicClassID()
const = 0;
304 #ifndef U_HIDE_INTERNAL_API
312 #define UOBJECT_DEFINE_RTTI_IMPLEMENTATION(myClass) \
313 UClassID U_EXPORT2 myClass::getStaticClassID() { \
314 static char classID = 0; \
315 return (UClassID)&classID; \
317 UClassID myClass::getDynamicClassID() const \
318 { return myClass::getStaticClassID(); }
329 #define UOBJECT_DEFINE_ABSTRACT_RTTI_IMPLEMENTATION(myClass) \
330 UClassID U_EXPORT2 myClass::getStaticClassID() { \
331 static char classID = 0; \
332 return (UClassID)&classID; \
345 #define UOBJECT_DEFINE_NO_RTTI_IMPLEMENTATION(myClass) \
346 UClassID myClass::getDynamicClassID() const { return NULL; }
U_EXPORT UBool operator==(const StringPiece &x, const StringPiece &y)
Global operator == for StringPiece.
void * UClassID
UClassID is used to identify classes without using the compiler's RTTI.
#define U_NAMESPACE_BEGIN
This is used to begin a declaration of a public ICU C++ API.
UBool operator!=(const StringPiece &x, const StringPiece &y)
Global operator != for StringPiece.
#define U_NAMESPACE_END
This is used to end a declaration of a public ICU C++ API.
Basic definitions for ICU, for both C and C++ APIs.
#define U_COMMON_API
Set to export library symbols from inside the common library, and to import them from outside...
UObject is the common ICU "boilerplate" class.
UMemory is the common ICU base class.
int8_t UBool
The ICU boolean type.