ReactPhysics3D: reactphysics3d::PoolAllocator Class Reference

| ReactPhysics3D v0.10.2 C++ Physics engine library

Loading...
Searching...
No Matches
Classes | Public Member Functions | List of all members
reactphysics3d::PoolAllocator Class Reference

This class is used to efficiently allocate memory on the heap. More...

`#include <include/reactphysics3d/memory/PoolAllocator.h>`

Inheritance diagram for reactphysics3d::PoolAllocator:

## 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.
virtual void * | allocate (size_t size)=0
| Allocate memory of a given size (in bytes) and return a pointer to the allocated memory.
virtual void | release (void *pointer, size_t size)=0
| Release previously allocated memory.

## 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.

## Detailed Description

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

## Member Function Documentation

## ◆ allocate()

void * PoolAllocator::allocate | ( | size_t | size | ) |
| overridevirtual

Allocate memory of a given size (in bytes) and return a pointer to the allocated memory.

Implements reactphysics3d::MemoryAllocator.

## ◆ release()

void PoolAllocator::release | ( | void * | pointer,
|  | size_t | size
| ) |  |
| overridevirtual

Release previously allocated memory.

Implements reactphysics3d::MemoryAllocator.

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

- include/reactphysics3d/memory/PoolAllocator.h
- src/memory/PoolAllocator.cpp