Barracuda Application Server C/C++ Reference
NO
FixedSizeAllocator Struct Reference

Detailed Description

This is a fixed size allocator implementation for the abstract interface class AllocatorIntf.

The FixedSizeAllocator takes a buffer and splits the buffer up into equally sized chunks. Allocating memory larger than the chunk size or using realloc results in an error; i.e., NULL returned. One can allocate a smaller size than the chunk size, but the size will be adjusted to the chunk size.

#include <FixedSizeAllocator.h>

Inheritance diagram for FixedSizeAllocator:

Public Member Functions

 FixedSizeAllocator (void *buffer, size_t bufSize, size_t blockSize)
 Create a fixed size allocator. More...
 
- Public Member Functions inherited from AllocatorIntf
 AllocatorIntf (AllocatorIntf_Malloc malloc, AllocatorIntf_Realloc realloc, AllocatorIntf_Free free)
 Create an instance of a memory allocation class. More...
 
void * malloc (size_t *size)
 Returns pointer to uninitialized newly-allocated space for an object of size "size", or NULL on error. More...
 
void * realloc (void *p, size_t *size)
 Returns pointer to newly-allocated space for an object of size "size", initialized, to minimum of old and new sizes, to existing contents of p (if non-null), or NULL on error. More...
 
void free (void *p)
 Deallocates space to which it points.
 

Additional Inherited Members

- Static Public Member Functions inherited from AllocatorIntf
static AllocatorIntfgetDefault (void)
 Returns a pointer to a predefined AllocatorIntf class. More...
 

Constructor & Destructor Documentation

◆ FixedSizeAllocator()

FixedSizeAllocator::FixedSizeAllocator ( void *  buffer,
size_t  bufSize,
size_t  blockSize 
)

Create a fixed size allocator.

Parameters
buffera pointer to the memory location for the fixed size allocator.
bufSizethe size of the buffer. The size should be n*blockSize.
blockSizethe size of the chunks.