Remove unused FX_NEW definition.
[pdfium.git] / core / include / fxcrt / fx_memory.h
index 8806bba..4116e17 100644 (file)
@@ -6,10 +6,11 @@
 
 #ifndef _FX_MEMORY_H_
 #define _FX_MEMORY_H_
-#ifndef _FX_SYSTEM_H_
+
 #include "fx_system.h"
-#endif
+
 #ifdef __cplusplus
+#include <new>
 extern "C" {
 #endif
 #define FX_Alloc(type, size)                                           (type*)calloc(size, sizeof(type))
@@ -22,71 +23,54 @@ 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
+
+#define FX_NEW_VECTOR(Pointer, Class, Count) (Pointer = new Class[Count])
+#define FX_DELETE_VECTOR(Pointer, Class, Count) delete[] Pointer
+
+class CFX_DestructObject 
 {
 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)
+
+    virtual ~CFX_DestructObject() {}
+};
+class CFX_GrowOnlyPool 
+{
+public:
+
+    CFX_GrowOnlyPool(size_t trunk_size = 16384);
+
+    ~CFX_GrowOnlyPool();
+
+    void       SetTrunkSize(size_t trunk_size)
     {
-        free(p);
+        m_TrunkSize = trunk_size;
     }
-    void*                      operator new[] (size_t size)
+
+    void*      AllocDebug(size_t size, FX_LPCSTR file, int line)
     {
-        return malloc(size);
+        return Alloc(size);
     }
-    void                       operator delete[] (void* p)
+
+    void*      Alloc(size_t size);
+
+    void*      ReallocDebug(void* p, size_t new_size, FX_LPCSTR file, int line)
     {
-        free(p);
+        return NULL;
     }
-    void*                      operator new (size_t, void* buf)
+
+    void*      Realloc(void* p, size_t new_size)
     {
-        return buf;
-    }
-    void                       operator delete (void*, void*)                                                  {}
-};
-#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); \
+        return NULL;
     }
-class CFX_DestructObject : public CFX_Object
-{
-public:
 
-    virtual ~CFX_DestructObject() {}
+    void       Free(void*) {}
+
+    void       FreeAll();
+private:
+
+    size_t     m_TrunkSize;
+
+    void*      m_pFirstTrunk;
 };
-#endif  // __cplusplus
-#endif  // _FX_MEMORY_H_
+#endif
+#endif