#ifndef CORE_FXCRT_FX_MEMORY_H_
#define CORE_FXCRT_FX_MEMORY_H_
#include <stddef.h>
#ifdef __cplusplus
extern "C" {
#endif
void* FXMEM_DefaultAlloc(size_t byte_size);
void* FXMEM_DefaultCalloc(size_t num_elems, size_t byte_size);
void* FXMEM_DefaultRealloc(void* pointer, size_t new_size);
void FXMEM_DefaultFree(void* pointer);
#ifdef __cplusplus
}
#include "core/fxcrt/compiler_specific.h"
#if defined(COMPILER_MSVC)
#include <malloc.h>
#else
#include <stdlib.h>
#endif
void FX_InitializeMemoryAllocators();
void FX_DestroyMemoryAllocators();
NOINLINE void FX_OutOfMemoryTerminate(size_t size);
#define FX_Alloc(type, size) …
#define FX_Alloc2D(type, w, h) …
#define FX_Realloc(type, ptr, size) …
#define FX_TryAlloc(type, size) …
#define FX_TryRealloc(type, ptr, size) …
#define FX_AllocUninit(type, size) …
#define FX_AllocUninit2D(type, w, h) …
#define FX_TryAllocUninit(type, size) …
#define FX_TryAllocUninit2D(type, w, h) …
#define FX_Free(ptr) …
#define FX_StringAlloc(type, size) …
#define FX_StringFree(ptr) …
#ifndef V8_ENABLE_SANDBOX
void* FX_ArrayBufferAllocate(size_t length);
void* FX_ArrayBufferAllocateUninitialized(size_t length);
void FX_ArrayBufferFree(void* data);
#endif
void* FX_AlignedAlloc(size_t size, size_t alignment);
inline void FX_AlignedFree(void* ptr) { … }
namespace pdfium {
namespace internal {
void* Alloc(size_t num_members, size_t member_size);
void* Alloc2D(size_t w, size_t h, size_t member_size);
void* AllocOrDie(size_t num_members, size_t member_size);
void* AllocOrDie2D(size_t w, size_t h, size_t member_size);
void* Calloc(size_t num_members, size_t member_size);
void* Realloc(void* ptr, size_t num_members, size_t member_size);
void* CallocOrDie(size_t num_members, size_t member_size);
void* CallocOrDie2D(size_t w, size_t h, size_t member_size);
void* ReallocOrDie(void* ptr, size_t num_members, size_t member_size);
void Dealloc(void* ptr);
void* StringAlloc(size_t num_members, size_t member_size);
void* StringAllocOrDie(size_t num_members, size_t member_size);
void StringDealloc(void* ptr);
}
}
#define FX_STACK_ALLOCATED() …
template <int N, typename T>
inline T FxAlignToBoundary(T size) { … }
#endif
#endif