BDE 4.14.0 Production release
Loading...
Searching...
No Matches
bdlma::ManagedAllocator Class Referenceabstract

#include <bdlma_managedallocator.h>

Inheritance diagram for bdlma::ManagedAllocator:
bslma::Allocator bsl::memory_resource balst::StackTraceTestAllocator bdlma::BufferedSequentialAllocator bdlma::ConcurrentMultipoolAllocator bdlma::MultipoolAllocator bdlma::SequentialAllocator bdlma::LocalSequentialAllocator< k_BUFFER_SIZE > bdlma::LocalSequentialAllocator< t_SIZE >

Public Member Functions

virtual void release ()=0
 
- Public Member Functions inherited from bslma::Allocator
 ~Allocator () BSLS_KEYWORD_OVERRIDE
 
virtual void * allocate (size_type size)=0
 
virtual void deallocate (void *address)=0
 
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)
 
- Public Member Functions inherited from bsl::memory_resource
 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_resourceoperator= (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
 

Additional Inherited Members

- Public Types inherited from bslma::Allocator
typedef std::size_t size_type
 
- Static Public Member Functions inherited from bslma::Allocator
static void throwBadAlloc ()
 
- Protected Member Functions inherited from bslma::Allocator
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
 

Detailed Description

This protocol class extends bslma::Allocator for allocators with the ability to release all memory currently allocated through the protocol back to the memory supplier of the derived concrete allocator object.

See bdlma_managedallocator

Member Function Documentation

◆ release()

virtual void bdlma::ManagedAllocator::release ( )
pure virtual

Release all memory currently allocated through this allocator. The effect of using a pointer after this call that was obtained from this allocator before this call is undefined.

Implemented in balst::StackTraceTestAllocator, bdlma::BufferedSequentialAllocator, bdlma::ConcurrentMultipoolAllocator, bdlma::MultipoolAllocator, and bdlma::SequentialAllocator.


The documentation for this class was generated from the following file: