This class implements the ManagedAllocator protocol to provide a fast allocator that dispenses heterogeneous blocks of memory (of varying, user‐specified sizes) from an external buffer whose address and size (in bytes) are supplied at construction. If an allocation request exceeds the remaining free memory space in the external buffer, memory will be supplied by an (optional) allocator also supplied at construction; if no allocator is supplied, the currently installed default allocator is used. This class is exception neutral: If memory cannot be allocated, the behavior is defined by the (optional) allocator supplied at construction. Note that in no case will the buffered sequential allocator attempt to deallocate the external buffer.
Synopsis
Declared in <bdlma_bufferedsequentialallocator.h>
class BufferedSequentialAllocator
: public ManagedAllocator
Base Classes
Name |
Description |
This protocol class extends |
Type Aliases
Name |
Description |
Alias for an unsigned integral type capable of representing the number of bytes in this platform's virtual address space. |
Member Functions
Name |
Description |
|
Constructors |
|
Destroy this buffered sequential allocator. All memory allocated from this allocator is released. |
Return a block of memory of the specified |
|
Return the allocator passed at construction. |
|
This method has no effect on the specified memory block. |
|
|
|
|
|
|
Release all memory allocated through this allocator and return to the underlying allocator all memory except the external buffer supplied at construction. The allocator is reset to its default‐constructed state, making the memory from the entire external buffer supplied at construction available for subsequent allocations, retaining the alignment and growth strategies, and the initial and maximum buffer sizes in effect following construction. The effect of subsequently ‐ to this invokation of |
|
Release all memory allocated through this allocator and return to the underlying allocator only memory that was allocated outside of the typical internal buffer growth of this allocator (i.e., large blocks). All retained memory will be used to satisfy subsequent allocations. The effect of subsequently ‐ to this invokation of |
Static Member Functions
Name |
Description |
Throw |
Protected Member Functions
Name |
Description |
|
Return a newly allocated block of memory of (at least) the specified positive |
|
Return the memory block at the specified |
|
Return |
Derived Classes
Name |
Description |
This class implements the |
Created with MrDocs