BDE 4.39.x Production Release
Loading...
Searching...
No Matches
bslma::ManagedAllocator Class Referenceabstract

#include <bslma_managedallocator.h>

Inheritance diagram for bslma::ManagedAllocator:
bslma::Allocator bsl::memory_resource bslma::SequentialAllocator

Detailed Description

Provide a protocol 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 bslma_managedallocator

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
 
 memory_resource (const memory_resource &) BSLS_KEYWORD_DEFAULT
 
virtual ~memory_resource ()
 
memory_resourceoperator= (const memory_resource &) BSLS_KEYWORD_DEFAULT
 
BSLA_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
 

Member Function Documentation

◆ release()

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

Release all memory currently allocated through this allocator.

Implemented in bslma::SequentialAllocator.


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