Blender V5.0
btGenericPoolAllocator Class Reference

Generic Allocator with pools. More...

#include <btGenericPoolAllocator.h>

Inherited by GIM_STANDARD_ALLOCATOR.

Public Member Functions

size_t get_pool_capacity ()
 btGenericPoolAllocator (size_t pool_element_size, size_t pool_element_count)
virtual ~btGenericPoolAllocator ()
 *******************! btGenericPoolAllocator *******************!///
void * allocate (size_t size_bytes)
 Allocates memory in pool.
bool freeMemory (void *pointer)

Public Attributes

btGenericMemoryPoolm_pools [BT_DEFAULT_MAX_POOLS]
size_t m_pool_count

Protected Member Functions

btGenericMemoryPoolpush_new_pool ()
void * failback_alloc (size_t size_bytes)
bool failback_free (void *pointer)

Protected Attributes

size_t m_pool_element_size
size_t m_pool_element_count

Detailed Description

Generic Allocator with pools.

General purpose Allocator which can create Memory Pools dynamiacally as needed.

Definition at line 107 of file btGenericPoolAllocator.h.

Constructor & Destructor Documentation

◆ btGenericPoolAllocator()

btGenericPoolAllocator::btGenericPoolAllocator ( size_t pool_element_size,
size_t pool_element_count )
inline

◆ ~btGenericPoolAllocator()

btGenericPoolAllocator::~btGenericPoolAllocator ( )
virtual

*******************! btGenericPoolAllocator *******************!///

Definition at line 147 of file btGenericPoolAllocator.cpp.

References btAlignedFree, i, m_pool_count, and m_pools.

Member Function Documentation

◆ allocate()

void * btGenericPoolAllocator::allocate ( size_t size_bytes)

Allocates memory in pool.

Parameters
size_bytessize in bytes of the buffer

Definition at line 200 of file btGenericPoolAllocator.cpp.

References failback_alloc(), i, m_pool_count, m_pools, and ptr.

◆ failback_alloc()

void * btGenericPoolAllocator::failback_alloc ( size_t size_bytes)
protected

◆ failback_free()

bool btGenericPoolAllocator::failback_free ( void * pointer)
protected

Definition at line 190 of file btGenericPoolAllocator.cpp.

References btAlignedFree.

Referenced by freeMemory().

◆ freeMemory()

bool btGenericPoolAllocator::freeMemory ( void * pointer)

Definition at line 216 of file btGenericPoolAllocator.cpp.

References failback_free(), i, m_pool_count, m_pools, and result.

◆ get_pool_capacity()

size_t btGenericPoolAllocator::get_pool_capacity ( )
inline

Definition at line 117 of file btGenericPoolAllocator.h.

References m_pool_element_count, and m_pool_element_size.

Referenced by failback_alloc().

◆ push_new_pool()

btGenericMemoryPool * btGenericPoolAllocator::push_new_pool ( )
protected

Member Data Documentation

◆ m_pool_count

size_t btGenericPoolAllocator::m_pool_count

◆ m_pool_element_count

size_t btGenericPoolAllocator::m_pool_element_count
protected

◆ m_pool_element_size

size_t btGenericPoolAllocator::m_pool_element_size
protected

◆ m_pools

btGenericMemoryPool* btGenericPoolAllocator::m_pools[BT_DEFAULT_MAX_POOLS]

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