An implementation of a very simple block allocator. This class can allocate ranges of nonnegative integers within a specified upper limit; it uses a simple first-fit algorithm to find the next available space.
More...
|
| __init__ (size_t max_size, Mutex lock) |
|
SimpleAllocatorBlock | alloc (size_t size) |
| Allocates a new block. Returns NULL if a block of the requested size cannot be allocated. More...
|
|
size_t | getContiguous () |
| Returns an upper-bound estimate of the size of the largest contiguous block that may be allocated. It is guaranteed that an attempt to allocate a block larger than this will fail, though it is not guaranteed that an attempt to allocate a block this size or smaller will succeed. More...
|
|
SimpleAllocatorBlock | getFirstBlock () |
| Returns a pointer to the first allocated block, or NULL if there are no allocated blocks. More...
|
|
size_t | getMaxSize () |
| Returns the available space for allocated objects. More...
|
|
size_t | getTotalSize () |
| Returns the total size of allocated objects. More...
|
|
bool | isEmpty () |
| Returns true if there are no blocks allocated on this page, or false if there is at least one. More...
|
|
| output (Ostream out) |
|
| setMaxSize (size_t max_size) |
| Changes the available space for allocated objects. This will not affect any already-allocated objects, but will have an effect on future calls to alloc(). More...
|
|
| write (Ostream out) |
|
An implementation of a very simple block allocator. This class can allocate ranges of nonnegative integers within a specified upper limit; it uses a simple first-fit algorithm to find the next available space.