ReactPhysics3D
v0.10.2
C++ Physics engine library
|
This class is used to efficiently allocate memory on the heap. More...
#include <include/reactphysics3d/memory/PoolAllocator.h>
Public Member Functions | |
PoolAllocator (MemoryAllocator &baseAllocator) | |
Constructor. | |
virtual | ~PoolAllocator () override |
Destructor. | |
PoolAllocator & | operator= (PoolAllocator &allocator)=delete |
Assignment operator. | |
virtual void * | allocate (size_t size) override |
Allocate memory of a given size (in bytes) and return a pointer to the allocated memory. | |
virtual void | release (void *pointer, size_t size) override |
Release previously allocated memory. | |
Public Member Functions inherited from reactphysics3d::MemoryAllocator | |
MemoryAllocator ()=default | |
Constructor. | |
virtual | ~MemoryAllocator ()=default |
Destructor. | |
MemoryAllocator & | operator= (MemoryAllocator &allocator)=default |
Assignment operator. | |
Additional Inherited Members | |
Static Public Member Functions inherited from reactphysics3d::MemoryAllocator | |
static void * | alignAddress (void *pointer, uint8 alignment) |
Given a pointer to memory, this method returns the next aligned address. | |
static void * | alignAddress (void *pointer, uint8 alignment, ptrdiff_t &alignmentOffset) |
Given a pointer to memory, this method returns the next aligned address and also output the alignment offset. | |
This class is used to efficiently allocate memory on the heap.
It allows us to allocate small blocks of memory (smaller or equal to 1024 bytes) efficiently. This implementation is inspired by the small block allocator described here : http://www.codeproject.com/useritems/Small_Block_Allocator.asp
|
overridevirtual |
Allocate memory of a given size (in bytes) and return a pointer to the allocated memory.
Implements reactphysics3d::MemoryAllocator.
|
overridevirtual |
Release previously allocated memory.
Implements reactphysics3d::MemoryAllocator.