JPH_INLINE void *operator new (size_t inCount)                                              { return JPH::Allocate(inCount); } \
    JPH_INLINE void operator delete (void *inPointer) noexcept                                  { JPH::Free(inPointer); } \
    JPH_INLINE void *operator new[] (size_t inCount)                                            { return JPH::Allocate(inCount); } \
    JPH_INLINE void operator delete[] (void *inPointer) noexcept                                { JPH::Free(inPointer); } \
    JPH_INLINE void *operator new (size_t inCount, std::align_val_t inAlignment)                { return JPH::AlignedAllocate(inCount, static_cast<size_t>(inAlignment)); } \
    JPH_INLINE void operator delete (void *inPointer, [[maybe_unused]] std::align_val_t inAlignment) noexcept   { JPH::AlignedFree(inPointer); } \
    JPH_INLINE void *operator new[] (size_t inCount, std::align_val_t inAlignment)              { return JPH::AlignedAllocate(inCount, static_cast<size_t>(inAlignment)); } \
    JPH_INLINE void operator delete[] (void *inPointer, [[maybe_unused]] std::align_val_t inAlignment) noexcept { JPH::AlignedFree(inPointer); }
 
Macro to override the new and delete functions.