Nugget
|
#include <fixed_pool.h>
Public Types | |
enum | { kNodeSize = nodeSize , kNodeCount = nodeCount , kNodesSize = nodeCount * nodeSize , kBufferSize = kNodesSize + ((nodeAlignment > 1) ? nodeSize-1 : 0) + nodeAlignmentOffset , kNodeAlignment = nodeAlignment , kNodeAlignmentOffset = nodeAlignmentOffset } |
typedef fixed_vector_allocator< nodeSize, nodeCount, nodeAlignment, nodeAlignmentOffset, bEnableOverflow, OverflowAllocator > | this_type |
typedef OverflowAllocator | overflow_allocator_type |
Public Member Functions | |
fixed_vector_allocator (void *pNodeBuffer=nullptr) | |
fixed_vector_allocator (void *pNodeBuffer, const overflow_allocator_type &allocator) | |
fixed_vector_allocator (const fixed_vector_allocator &x) | |
fixed_vector_allocator & | operator= (const fixed_vector_allocator &x) |
void * | allocate (size_t n, int flags=0) |
void * | allocate (size_t n, size_t alignment, size_t offset, int flags=0) |
void | deallocate (void *p, size_t n) |
const char * | get_name () const |
void | set_name (const char *pName) |
const overflow_allocator_type & | get_overflow_allocator () const EA_NOEXCEPT |
overflow_allocator_type & | get_overflow_allocator () EA_NOEXCEPT |
void | set_overflow_allocator (const overflow_allocator_type &allocator) |
void | copy_overflow_allocator (const this_type &x) |
Public Attributes | |
overflow_allocator_type | mOverflowAllocator |
void * | mpPoolBegin |
Template parameters: nodeSize The size of individual objects. nodeCount The number of objects the pool contains. nodeAlignment The alignment of the objects to allocate. nodeAlignmentOffset The alignment offset of the objects to allocate. bEnableOverflow Whether or not we should use the overflow heap if our object pool is exhausted. OverflowAllocator Overflow allocator, which is only used if bEnableOverflow == true. Defaults to the global heap.