9#ifndef JPH_DISABLE_CUSTOM_ALLOCATOR
34#if defined(JPH_COMPILER_MINGW) && JPH_CPU_ADDRESS_BITS == 32
35 #define JPH_INTERNAL_DEFAULT_ALLOCATE(size) JPH::AlignedAllocate(size, 16)
36 #define JPH_INTERNAL_DEFAULT_FREE(pointer) JPH::AlignedFree(pointer)
38 #define JPH_INTERNAL_DEFAULT_ALLOCATE(size) JPH::Allocate(size)
39 #define JPH_INTERNAL_DEFAULT_FREE(pointer) JPH::Free(pointer)
43#define JPH_OVERRIDE_NEW_DELETE \
44 JPH_INLINE void *operator new (size_t inCount) { return JPH_INTERNAL_DEFAULT_ALLOCATE(inCount); } \
45 JPH_INLINE void operator delete (void *inPointer) noexcept { JPH_INTERNAL_DEFAULT_FREE(inPointer); } \
46 JPH_INLINE void *operator new[] (size_t inCount) { return JPH_INTERNAL_DEFAULT_ALLOCATE(inCount); } \
47 JPH_INLINE void operator delete[] (void *inPointer) noexcept { JPH_INTERNAL_DEFAULT_FREE(inPointer); } \
48 JPH_INLINE void *operator new (size_t inCount, std::align_val_t inAlignment) { return JPH::AlignedAllocate(inCount, static_cast<size_t>(inAlignment)); } \
49 JPH_INLINE void operator delete (void *inPointer, [[maybe_unused]] std::align_val_t inAlignment) noexcept { JPH::AlignedFree(inPointer); } \
50 JPH_INLINE void *operator new[] (size_t inCount, std::align_val_t inAlignment) { return JPH::AlignedAllocate(inCount, static_cast<size_t>(inAlignment)); } \
51 JPH_INLINE void operator delete[] (void *inPointer, [[maybe_unused]] std::align_val_t inAlignment) noexcept { JPH::AlignedFree(inPointer); } \
52 JPH_INLINE void *operator new ([[maybe_unused]] size_t inCount, void *inPointer) noexcept { return inPointer; } \
53 JPH_INLINE void operator delete ([[maybe_unused]] void *inPointer, [[maybe_unused]] void *inPlace) noexcept { } \
54 JPH_INLINE void *operator new[] ([[maybe_unused]] size_t inCount, void *inPointer) noexcept { return inPointer; } \
55 JPH_INLINE void operator delete[] ([[maybe_unused]] void *inPointer, [[maybe_unused]] void *inPlace) noexcept { }
70#define JPH_OVERRIDE_NEW_DELETE
#define JPH_EXPORT
Definition Core.h:275
#define JPH_NAMESPACE_END
Definition Core.h:419
#define JPH_NAMESPACE_BEGIN
Definition Core.h:413
void *(*)(void *inBlock, size_t inOldSize, size_t inNewSize) ReallocateFunction
Definition Memory.h:13
void *(*)(size_t inSize, size_t inAlignment) AlignedAllocateFunction
Definition Memory.h:17
JPH_EXPORT AlignedAllocateFunction AlignedAllocate
Definition Memory.cpp:71
void(*)(void *inBlock) FreeFunction
Definition Memory.h:14
JPH_EXPORT void RegisterDefaultAllocator()
Register platform default allocation / free functions.
Definition Memory.cpp:74
JPH_EXPORT AllocateFunction Allocate
Definition Memory.cpp:68
JPH_EXPORT ReallocateFunction Reallocate
Definition Memory.cpp:69
JPH_EXPORT AlignedFreeFunction AlignedFree
Definition Memory.cpp:72
void(*)(void *inBlock) AlignedFreeFunction
Definition Memory.h:18
void *(*)(size_t inSize) AllocateFunction
Definition Memory.h:12
JPH_EXPORT FreeFunction Free
Definition Memory.cpp:70