BDE 4.14.0 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

Public Member Functions

virtual void release ()=0
 Release all memory currently allocated through this allocator.
 
- 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

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

Member Function Documentation

◆ release()

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

Implemented in bslma::SequentialAllocator.


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