Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(125)

Unified Diff: core/include/fxcrt/fx_memory.h

Issue 1088733002: Kill CFX_Object. (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@master
Patch Set: Rebase. Created 5 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « core/include/fxcrt/fx_coordinates.h ('k') | core/include/fxcrt/fx_string.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: core/include/fxcrt/fx_memory.h
diff --git a/core/include/fxcrt/fx_memory.h b/core/include/fxcrt/fx_memory.h
index 15dc7da8cfcf42f4862f5afff5eb70cda7f8be3f..7884d6b11d76f0da5b5d35d3f67a5c457836e807 100644
--- a/core/include/fxcrt/fx_memory.h
+++ b/core/include/fxcrt/fx_memory.h
@@ -10,6 +10,7 @@
#include "fx_system.h"
#ifdef __cplusplus
+#include <new>
extern "C" {
#endif
#define FX_Alloc(type, size) (type*)calloc(size, sizeof(type))
@@ -22,76 +23,18 @@ void* FXMEM_DefaultRealloc(void* pointer, size_t new_size, int flags);
void FXMEM_DefaultFree(void* pointer, int flags);
#ifdef __cplusplus
}
-#endif
-#ifdef __cplusplus
-class CFX_Object
-{
-public:
- void* operator new (size_t size, FX_LPCSTR file, int line)
- {
- return malloc(size);
- }
- void operator delete (void* p, FX_LPCSTR file, int line)
- {
- free(p);
- }
- void* operator new (size_t size)
- {
- return malloc(size);
- }
- void operator delete (void* p)
- {
- free(p);
- }
- void* operator new[] (size_t size, FX_LPCSTR file, int line)
- {
- return malloc(size);
- }
- void operator delete[] (void* p, FX_LPCSTR file, int line)
- {
- free(p);
- }
- void* operator new[] (size_t size)
- {
- return malloc(size);
- }
- void operator delete[] (void* p)
- {
- free(p);
- }
- void* operator new (size_t, void* buf)
- {
- return buf;
- }
- void operator delete (void*, void*) {}
-};
-#endif
-#ifdef __cplusplus
-#if defined(_DEBUG)
-#define FX_NEW new(__FILE__, __LINE__)
-#else
-#define FX_NEW new
-#endif
-#define FX_NEW_VECTOR(Pointer, Class, Count) \
- { \
- Pointer = FX_Alloc(Class, Count); \
- if (Pointer) { \
- for (int i = 0; i < (Count); i ++) new (Pointer + i) Class; \
- } \
- }
-#define FX_DELETE_VECTOR(Pointer, Class, Count) \
- { \
- for (int i = 0; i < (Count); i ++) Pointer[i].~Class(); \
- FX_Free(Pointer); \
- }
-class CFX_DestructObject : public CFX_Object
+#define FX_NEW new(std::nothrow)
+#define FX_NEW_VECTOR(Pointer, Class, Count) (Pointer = FX_NEW Class[Count])
+#define FX_DELETE_VECTOR(Pointer, Class, Count) delete[] Pointer
+
+class CFX_DestructObject
{
public:
virtual ~CFX_DestructObject() {}
};
-class CFX_GrowOnlyPool : public CFX_Object
+class CFX_GrowOnlyPool
{
public:
« no previous file with comments | « core/include/fxcrt/fx_coordinates.h ('k') | core/include/fxcrt/fx_string.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698