Jolt Physics
A multi core friendly Game Physics Engine
Loading...
Searching...
No Matches
TempAllocatorImpl Class Referencefinal

Default implementation of the temp allocator that allocates a large block through malloc upfront. More...

#include <TempAllocator.h>

Inheritance diagram for TempAllocatorImpl:
TempAllocator NonCopyable

Public Member Functions

JPH_OVERRIDE_NEW_DELETE TempAllocatorImpl (uint inSize)
 Constructs the allocator with a maximum allocatable size of inSize. More...
 
virtual ~TempAllocatorImpl () override
 Destructor, frees the block. More...
 
virtual void * Allocate (uint inSize) override
 Allocates inSize bytes of memory, returned memory address must be JPH_RVECTOR_ALIGNMENT byte aligned. More...
 
virtual void Free (void *inAddress, uint inSize) override
 Frees inSize bytes of memory located at inAddress. More...
 
bool IsEmpty () const
 Check if no allocations have been made. More...
 
uint GetSize () const
 Get the total size of the fixed buffer. More...
 
uint GetUsage () const
 Get current usage in bytes of the buffer. More...
 
bool CanAllocate (uint inSize) const
 Check if an allocation of inSize can be made in this fixed buffer allocator. More...
 
bool OwnsMemory (const void *inAddress) const
 Check if memory block at inAddress is owned by this allocator. More...
 
- Public Member Functions inherited from TempAllocator
virtual JPH_OVERRIDE_NEW_DELETE ~TempAllocator ()=default
 Destructor. More...
 
virtual void * Allocate (uint inSize)=0
 Allocates inSize bytes of memory, returned memory address must be JPH_RVECTOR_ALIGNMENT byte aligned. More...
 
virtual void Free (void *inAddress, uint inSize)=0
 Frees inSize bytes of memory located at inAddress. More...
 
- Public Member Functions inherited from NonCopyable
 NonCopyable ()=default
 
 NonCopyable (const NonCopyable &)=delete
 
void operator= (const NonCopyable &)=delete
 

Detailed Description

Default implementation of the temp allocator that allocates a large block through malloc upfront.

Constructor & Destructor Documentation

◆ TempAllocatorImpl()

JPH_OVERRIDE_NEW_DELETE TempAllocatorImpl::TempAllocatorImpl ( uint  inSize)
inlineexplicit

Constructs the allocator with a maximum allocatable size of inSize.

◆ ~TempAllocatorImpl()

virtual TempAllocatorImpl::~TempAllocatorImpl ( )
inlineoverridevirtual

Destructor, frees the block.

Member Function Documentation

◆ Allocate()

virtual void * TempAllocatorImpl::Allocate ( uint  inSize)
inlineoverridevirtual

Allocates inSize bytes of memory, returned memory address must be JPH_RVECTOR_ALIGNMENT byte aligned.

Implements TempAllocator.

◆ CanAllocate()

bool TempAllocatorImpl::CanAllocate ( uint  inSize) const
inline

Check if an allocation of inSize can be made in this fixed buffer allocator.

◆ Free()

virtual void TempAllocatorImpl::Free ( void *  inAddress,
uint  inSize 
)
inlineoverridevirtual

Frees inSize bytes of memory located at inAddress.

Implements TempAllocator.

◆ GetSize()

uint TempAllocatorImpl::GetSize ( ) const
inline

Get the total size of the fixed buffer.

◆ GetUsage()

uint TempAllocatorImpl::GetUsage ( ) const
inline

Get current usage in bytes of the buffer.

◆ IsEmpty()

bool TempAllocatorImpl::IsEmpty ( ) const
inline

Check if no allocations have been made.

◆ OwnsMemory()

bool TempAllocatorImpl::OwnsMemory ( const void *  inAddress) const
inline

Check if memory block at inAddress is owned by this allocator.


The documentation for this class was generated from the following file: