Foundation
Loading...
Searching...
No Matches
Public Member Functions | List of all members
Foundation::Core::HeapAllocator Class Reference

General purpose heap allocator. More...

#include <HeapAllocator.hpp>

Inheritance diagram for Foundation::Core::HeapAllocator:
Foundation::Core::Allocator

Public Member Functions

pointer Allocate (size_type size, size_t alignment) override
 
void Deallocate (pointer ptr) override
 
void Deallocate (pointer ptr, size_type size) override
 
pointer Reallocate (pointer ptr, size_type new_size, size_t alignment) override
 
- Public Member Functions inherited from Foundation::Core::Allocator
virtual ~Allocator ()=default
 
Arena AllocateArena (size_type size, size_t alignment)
 
Arena AllocateArena (size_type size)
 
void DeallocateArena (Arena arena)
 
AllocatorPtr ()
 

Detailed Description

General purpose heap allocator.

Note
By default, this allocator uses mimalloc for memory management - which can be overridden by defining FOUNDATION_CORE_USES_OS_ALLOC to use the OS's default allocator.
As mimalloc/OS allocators are thread-safe by default, so is this allocator.

Member Function Documentation

◆ Allocate()

pointer Foundation::Core::HeapAllocator::Allocate ( size_type  size,
size_t  alignment 
)
overridevirtual

◆ Deallocate() [1/2]

void Foundation::Core::HeapAllocator::Deallocate ( pointer  ptr)
overridevirtual

◆ Deallocate() [2/2]

void Foundation::Core::HeapAllocator::Deallocate ( pointer  ptr,
size_type  size 
)
inlineoverridevirtual

◆ Reallocate()

pointer Foundation::Core::HeapAllocator::Reallocate ( pointer  ptr,
size_type  new_size,
size_t  alignment 
)
overridevirtual

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