27 virtual void Free(
void *inAddress,
uint inSize) = 0;
62 void *address = mBase + mTop;
69 virtual void Free(
void *inAddress,
uint inSize)
override
71 if (inAddress ==
nullptr)
78 if (mBase + mTop != inAddress)
109 virtual void Free(
void *inAddress,
uint inSize)
override
unsigned int uint
Definition Core.h:309
#define JPH_NAMESPACE_END
Definition Core.h:240
uint8_t uint8
Definition Core.h:310
#define JPH_CRASH
Definition Core.h:231
#define JPH_NAMESPACE_BEGIN
Definition Core.h:234
#define JPH_ASSERT(...)
Definition IssueReporting.h:33
T AlignUp(T inV, uint64 inAlignment)
Align inV up to the next inAlignment bytes.
Definition Math.h:80
AlignedFreeFunction AlignedFree
Definition Memory.cpp:60
AlignedAllocateFunction AlignedAllocate
Definition Memory.cpp:59
#define JPH_OVERRIDE_NEW_DELETE
Macro to override the new and delete functions.
Definition Memory.h:29
#define JPH_RVECTOR_ALIGNMENT
Definition Real.h:34
Class that makes another class non-copyable. Usage: Inherit from NonCopyable.
Definition NonCopyable.h:11
Definition TempAllocator.h:16
virtual void Free(void *inAddress, uint inSize)=0
Frees inSize bytes of memory located at inAddress.
virtual void * Allocate(uint inSize)=0
Allocates inSize bytes of memory, returned memory address must be JPH_RVECTOR_ALIGNMENT byte aligned.
virtual JPH_OVERRIDE_NEW_DELETE ~TempAllocator()=default
Destructor.
Default implementation of the temp allocator that allocates a large block through malloc upfront.
Definition TempAllocator.h:32
virtual ~TempAllocatorImpl() override
Destructor, frees the block.
Definition TempAllocator.h:44
JPH_OVERRIDE_NEW_DELETE TempAllocatorImpl(uint inSize)
Constructs the allocator with a maximum allocatable size of inSize.
Definition TempAllocator.h:37
virtual void Free(void *inAddress, uint inSize) override
Frees inSize bytes of memory located at inAddress.
Definition TempAllocator.h:69
bool IsEmpty() const
Definition TempAllocator.h:84
virtual void * Allocate(uint inSize) override
Allocates inSize bytes of memory, returned memory address must be JPH_RVECTOR_ALIGNMENT byte aligned.
Definition TempAllocator.h:51
Definition TempAllocator.h:98
virtual void Free(void *inAddress, uint inSize) override
Frees inSize bytes of memory located at inAddress.
Definition TempAllocator.h:109
virtual JPH_OVERRIDE_NEW_DELETE void * Allocate(uint inSize) override
Allocates inSize bytes of memory, returned memory address must be JPH_RVECTOR_ALIGNMENT byte aligned.
Definition TempAllocator.h:103