|
typedef std::size_t | size_type |
|
| BufferedSequentialAllocator (char *buffer, bsls::Types::size_type size, bslma::Allocator *basicAllocator=0) |
|
| BufferedSequentialAllocator (char *buffer, bsls::Types::size_type size, bsls::BlockGrowth::Strategy growthStrategy, bslma::Allocator *basicAllocator=0) |
|
| BufferedSequentialAllocator (char *buffer, bsls::Types::size_type size, bsls::Alignment::Strategy alignmentStrategy, bslma::Allocator *basicAllocator=0) |
|
| BufferedSequentialAllocator (char *buffer, bsls::Types::size_type size, bsls::BlockGrowth::Strategy growthStrategy, bsls::Alignment::Strategy alignmentStrategy, bslma::Allocator *basicAllocator=0) |
|
| BufferedSequentialAllocator (char *buffer, bsls::Types::size_type size, bsls::Types::size_type maxBufferSize, bslma::Allocator *basicAllocator=0) |
|
| BufferedSequentialAllocator (char *buffer, bsls::Types::size_type size, bsls::Types::size_type maxBufferSize, bsls::BlockGrowth::Strategy growthStrategy, bslma::Allocator *basicAllocator=0) |
|
| BufferedSequentialAllocator (char *buffer, bsls::Types::size_type size, bsls::Types::size_type maxBufferSize, bsls::Alignment::Strategy alignmentStrategy, bslma::Allocator *basicAllocator=0) |
|
| BufferedSequentialAllocator (char *buffer, bsls::Types::size_type size, bsls::Types::size_type maxBufferSize, bsls::BlockGrowth::Strategy growthStrategy, bsls::Alignment::Strategy alignmentStrategy, bslma::Allocator *basicAllocator=0) |
|
| ~BufferedSequentialAllocator () BSLS_KEYWORD_OVERRIDE |
|
void * | allocate (size_type size) BSLS_KEYWORD_OVERRIDE |
|
void | deallocate (void *address) BSLS_KEYWORD_OVERRIDE |
|
void | release () BSLS_KEYWORD_OVERRIDE |
|
virtual void | rewind () |
|
bslma::Allocator * | allocator () const |
| Return the allocator passed at construction.
|
|
| ~Allocator () BSLS_KEYWORD_OVERRIDE |
|
template<class TYPE > |
void | deleteObject (const TYPE *object) |
|
template<class TYPE > |
void | deleteObjectRaw (const TYPE *object) |
|
void | deleteObject (bsl::nullptr_t) |
|
void | deleteObjectRaw (bsl::nullptr_t) |
|
| memory_resource () BSLS_KEYWORD_DEFAULT |
| Create this object. Has no effect other than to begin its lifetime.
|
|
| memory_resource (const memory_resource &) BSLS_KEYWORD_DEFAULT |
|
virtual | ~memory_resource () |
| Destroy this object. Has no effect other than to end its lifetime.
|
|
memory_resource & | operator= (const memory_resource &) BSLS_KEYWORD_DEFAULT |
| Return a modifiable reference to this object.
|
|
BSLS_ANNOTATION_NODISCARD void * | allocate (size_t bytes, size_t alignment=k_MAX_ALIGN) |
|
void | deallocate (void *p, size_t bytes, size_t alignment=k_MAX_ALIGN) |
|
bool | is_equal (const memory_resource &other) const BSLS_KEYWORD_NOEXCEPT |
|
static void | throwBadAlloc () |
|
void * | do_allocate (std::size_t bytes, std::size_t alignment) BSLS_KEYWORD_OVERRIDE |
|
void | do_deallocate (void *p, std::size_t bytes, std::size_t alignment) BSLS_KEYWORD_OVERRIDE |
|
bool | do_is_equal (const memory_resource &other) const BSLS_KEYWORD_NOEXCEPT BSLS_KEYWORD_OVERRIDE |
|
template<int t_SIZE>
class bdlma::LocalSequentialAllocator< t_SIZE >
This class implements the ManagedAllocator
protocol to provide a fast allocator that dispenses heterogeneous blocks of memory (of varying, user-specified sizes) from a local buffer whose capacity is the specified t_SIZE
(in bytes). If an allocation request exceeds the remaining free memory space in the local buffer, memory will be supplied by an (optional) allocator 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.
See bdlma_localsequentialallocator