31#ifndef ETL_MEMORY_BLOCK_ALLOCATOR_INCLUDED
32#define ETL_MEMORY_BLOCK_ALLOCATOR_INCLUDED
58 void*
allocate(
size_t required_size,
size_t required_alignment)
61 void* p = allocate_block(required_size, required_alignment);
83 bool was_released = release_block(p);
105 bool is_owner = is_owner_of_block(p);
123 virtual void* allocate_block(
size_t required_size,
size_t required_alignment) = 0;
124 virtual bool release_block(
const void*
const) = 0;
125 virtual bool is_owner_of_block(
const void*
const)
const = 0;
The interface for a memory block pool.
Definition: imemory_block_allocator.h:44
bool release(const void *const p)
Definition: imemory_block_allocator.h:81
bool is_owner_of(const void *const p) const
Definition: imemory_block_allocator.h:103
imemory_block_allocator()
Default constructor.
Definition: imemory_block_allocator.h:50
void * allocate(size_t required_size, size_t required_alignment)
Definition: imemory_block_allocator.h:58
Adds successor traits to a class.
Definition: successor.h:73
bool has_successor() const
Does this have a successor?
Definition: successor.h:184
successor_type & get_successor() const
Definition: successor.h:174
bitset_ext
Definition: absolute.h:38