| Index: core/include/fxcrt/fx_memory.h
|
| diff --git a/core/include/fxcrt/fx_memory.h b/core/include/fxcrt/fx_memory.h
|
| index 8806bba7dde6ede6336b91c480efe11e9f63318a..cb71c04fcaf9e72789fed460d44664e692e9c890 100644
|
| --- a/core/include/fxcrt/fx_memory.h
|
| +++ b/core/include/fxcrt/fx_memory.h
|
| @@ -65,9 +65,12 @@ public:
|
| }
|
| 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) \
|
| @@ -88,5 +91,44 @@ public:
|
|
|
| virtual ~CFX_DestructObject() {}
|
| };
|
| -#endif // __cplusplus
|
| -#endif // _FX_MEMORY_H_
|
| +class CFX_GrowOnlyPool : public CFX_Object
|
| +{
|
| +public:
|
| +
|
| + CFX_GrowOnlyPool(size_t trunk_size = 16384);
|
| +
|
| + ~CFX_GrowOnlyPool();
|
| +
|
| + void SetTrunkSize(size_t trunk_size)
|
| + {
|
| + m_TrunkSize = trunk_size;
|
| + }
|
| +
|
| + void* AllocDebug(size_t size, FX_LPCSTR file, int line)
|
| + {
|
| + return Alloc(size);
|
| + }
|
| +
|
| + void* Alloc(size_t size);
|
| +
|
| + void* ReallocDebug(void* p, size_t new_size, FX_LPCSTR file, int line)
|
| + {
|
| + return NULL;
|
| + }
|
| +
|
| + void* Realloc(void* p, size_t new_size)
|
| + {
|
| + return NULL;
|
| + }
|
| +
|
| + void Free(void*) {}
|
| +
|
| + void FreeAll();
|
| +private:
|
| +
|
| + size_t m_TrunkSize;
|
| +
|
| + void* m_pFirstTrunk;
|
| +};
|
| +#endif
|
| +#endif
|
|
|