OLD | NEW |
1 // Copyright 2014 PDFium Authors. All rights reserved. | 1 // Copyright 2014 PDFium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com | 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com |
6 | 6 |
7 #ifndef _FX_MEMORY_H_ | 7 #ifndef _FX_MEMORY_H_ |
8 #define _FX_MEMORY_H_ | 8 #define _FX_MEMORY_H_ |
9 | 9 |
10 #include "fx_system.h" | 10 #include "fx_system.h" |
11 | 11 |
12 #ifdef __cplusplus | 12 #ifdef __cplusplus |
13 #include <new> | 13 #include <new> |
14 extern "C" { | 14 extern "C" { |
15 #endif | 15 #endif |
16 #define FX_Alloc(type, size) (type*)c
alloc(size, sizeof(type)) | 16 #define FX_Alloc(type, size) (type*)c
alloc(size, sizeof(type)) |
17 #define FX_Realloc(type, ptr, size) (type*)r
ealloc(ptr, sizeof(type) * (size)) | 17 #define FX_Realloc(type, ptr, size) (type*)r
ealloc(ptr, sizeof(type) * (size)) |
18 #define FX_AllocNL(type, size) FX_Alloc
(type, size) | 18 #define FX_AllocNL(type, size) FX_Alloc
(type, size) |
19 #define FX_ReallocNL(type, ptr, size) FX_Realloc(type,
ptr, size) | 19 #define FX_ReallocNL(type, ptr, size) FX_Realloc(type,
ptr, size) |
20 #define FX_Free(ptr)
free(ptr) | 20 #define FX_Free(ptr)
free(ptr) |
21 void* FXMEM_DefaultAlloc(size_t byte_size, int flags); | 21 void* FXMEM_DefaultAlloc(size_t byte_size, int flags); |
22 void* FXMEM_DefaultRealloc(void* pointer, size_t new_size, int flags); | 22 void* FXMEM_DefaultRealloc(void* pointer, size_t new_size, int flags); |
23 void FXMEM_DefaultFree(void* pointer, int flags); | 23 void FXMEM_DefaultFree(void* pointer, int flags); |
24 #ifdef __cplusplus | 24 #ifdef __cplusplus |
25 } | 25 } |
26 | 26 |
27 #define FX_NEW_VECTOR(Pointer, Class, Count) (Pointer = new Class[Count]) | |
28 #define FX_DELETE_VECTOR(Pointer, Class, Count) delete[] Pointer | |
29 | |
30 class CFX_DestructObject | 27 class CFX_DestructObject |
31 { | 28 { |
32 public: | 29 public: |
33 | 30 |
34 virtual ~CFX_DestructObject() {} | 31 virtual ~CFX_DestructObject() {} |
35 }; | 32 }; |
36 class CFX_GrowOnlyPool | 33 class CFX_GrowOnlyPool |
37 { | 34 { |
38 public: | 35 public: |
39 | 36 |
(...skipping 27 matching lines...) Expand all Loading... |
67 | 64 |
68 void FreeAll(); | 65 void FreeAll(); |
69 private: | 66 private: |
70 | 67 |
71 size_t m_TrunkSize; | 68 size_t m_TrunkSize; |
72 | 69 |
73 void* m_pFirstTrunk; | 70 void* m_pFirstTrunk; |
74 }; | 71 }; |
75 #endif | 72 #endif |
76 #endif | 73 #endif |
OLD | NEW |