diff options
Diffstat (limited to 'thirdparty/bullet/BulletCollision/Gimpact/btGenericPoolAllocator.h')
-rw-r--r-- | thirdparty/bullet/BulletCollision/Gimpact/btGenericPoolAllocator.h | 50 |
1 files changed, 20 insertions, 30 deletions
diff --git a/thirdparty/bullet/BulletCollision/Gimpact/btGenericPoolAllocator.h b/thirdparty/bullet/BulletCollision/Gimpact/btGenericPoolAllocator.h index b46d851634..a535088e48 100644 --- a/thirdparty/bullet/BulletCollision/Gimpact/btGenericPoolAllocator.h +++ b/thirdparty/bullet/BulletCollision/Gimpact/btGenericPoolAllocator.h @@ -29,16 +29,16 @@ subject to the following restrictions: #define BT_UINT_MAX UINT_MAX #define BT_DEFAULT_MAX_POOLS 16 - //! Generic Pool class class btGenericMemoryPool { public: - unsigned char * m_pool; //[m_element_size*m_max_element_count]; - size_t * m_free_nodes; //[m_max_element_count];//! free nodes - size_t * m_allocated_sizes;//[m_max_element_count];//! Number of elements allocated per node + unsigned char *m_pool; //[m_element_size*m_max_element_count]; + size_t *m_free_nodes; //[m_max_element_count];//! free nodes + size_t *m_allocated_sizes; //[m_max_element_count];//! Number of elements allocated per node size_t m_allocated_count; size_t m_free_nodes_count; + protected: size_t m_element_size; size_t m_max_element_count; @@ -47,12 +47,10 @@ protected: size_t allocate_from_pool(size_t num_elements); public: - void init_pool(size_t element_size, size_t element_count); void end_pool(); - btGenericMemoryPool(size_t element_size, size_t element_count) { init_pool(element_size, element_count); @@ -63,10 +61,9 @@ public: end_pool(); } - inline size_t get_pool_capacity() { - return m_element_size*m_max_element_count; + return m_element_size * m_max_element_count; } inline size_t gem_element_size() @@ -89,23 +86,20 @@ public: return m_free_nodes_count; } - inline void * get_element_data(size_t element_index) + inline void *get_element_data(size_t element_index) { - return &m_pool[element_index*m_element_size]; + return &m_pool[element_index * m_element_size]; } //! Allocates memory in pool /*! \param size_bytes size in bytes of the buffer */ - void * allocate(size_t size_bytes); + void *allocate(size_t size_bytes); - bool freeMemory(void * pointer); + bool freeMemory(void *pointer); }; - - - //! Generic Allocator with pools /*! General purpose Allocator which can create Memory Pools dynamiacally as needed. @@ -115,26 +109,25 @@ class btGenericPoolAllocator protected: size_t m_pool_element_size; size_t m_pool_element_count; + public: - btGenericMemoryPool * m_pools[BT_DEFAULT_MAX_POOLS]; + btGenericMemoryPool *m_pools[BT_DEFAULT_MAX_POOLS]; size_t m_pool_count; - inline size_t get_pool_capacity() { - return m_pool_element_size*m_pool_element_count; + return m_pool_element_size * m_pool_element_count; } - protected: // creates a pool - btGenericMemoryPool * push_new_pool(); + btGenericMemoryPool *push_new_pool(); - void * failback_alloc(size_t size_bytes); + void *failback_alloc(size_t size_bytes); - bool failback_free(void * pointer); -public: + bool failback_free(void *pointer); +public: btGenericPoolAllocator(size_t pool_element_size, size_t pool_element_count) { m_pool_count = 0; @@ -148,16 +141,13 @@ public: /*! \param size_bytes size in bytes of the buffer */ - void * allocate(size_t size_bytes); + void *allocate(size_t size_bytes); - bool freeMemory(void * pointer); + bool freeMemory(void *pointer); }; - - -void * btPoolAlloc(size_t size); -void * btPoolRealloc(void *ptr, size_t oldsize, size_t newsize); +void *btPoolAlloc(size_t size); +void *btPoolRealloc(void *ptr, size_t oldsize, size_t newsize); void btPoolFree(void *ptr); - #endif |