Embedded Template Library 1.0
etl::fixed_sized_memory_block_allocator< VBlock_Size, VAlignment, VSize > Class Template Reference

#include <fixed_sized_memory_block_allocator.h>

Public Member Functions

 fixed_sized_memory_block_allocator ()
 Default constructor.
 
- Public Member Functions inherited from etl::imemory_block_allocator
 imemory_block_allocator ()
 Default constructor.
 
void * allocate (size_t required_size, size_t required_alignment)
 
bool release (const void *const p)
 
bool is_owner_of (const void *const p) const
 
- Public Member Functions inherited from etl::successor< imemory_block_allocator >
 successor ()
 Default constructor.
 
 successor (successor_type &s)
 Construct from a successor type.
 
void set_successor (successor_type &s)
 Set the successor.
 
void append_successor (TSuccessor &s)
 Append a successor.
 
void clear_successor ()
 Clear the successor.
 
void clear_successor_chain ()
 Clear the successor chain.
 
successor_typeget_successor () const
 
bool has_successor () const
 Does this have a successor?
 

Static Public Attributes

static ETL_CONSTANT size_t Block_Size = VBlock_Size
 
static ETL_CONSTANT size_t Alignment = VAlignment
 
static ETL_CONSTANT size_t Size = VSize
 

Protected Member Functions

virtual void * allocate_block (size_t required_size, size_t required_alignment) ETL_OVERRIDE
 The overridden virtual function to allocate a block. More...
 
virtual bool release_block (const void *const pblock) ETL_OVERRIDE
 The overridden virtual function to release a block. More...
 
virtual bool is_owner_of_block (const void *const pblock) const ETL_OVERRIDE
 Returns true if the allocator is the owner of the block. More...
 
virtual void * allocate_block (size_t required_size, size_t required_alignment)=0
 
virtual bool release_block (const void *const)=0
 
virtual bool is_owner_of_block (const void *const) const =0
 

Additional Inherited Members

- Public Types inherited from etl::successor< imemory_block_allocator >
typedef imemory_block_allocator successor_type
 

Detailed Description

template<size_t VBlock_Size, size_t VAlignment, size_t VSize>
class etl::fixed_sized_memory_block_allocator< VBlock_Size, VAlignment, VSize >

The fixed sized memory block pool. The allocated memory blocks are all the same size.

Member Function Documentation

◆ allocate_block()

template<size_t VBlock_Size, size_t VAlignment, size_t VSize>
virtual void * etl::fixed_sized_memory_block_allocator< VBlock_Size, VAlignment, VSize >::allocate_block ( size_t  required_size,
size_t  required_alignment 
)
inlineprotectedvirtual

The overridden virtual function to allocate a block.

Implements etl::imemory_block_allocator.

◆ is_owner_of_block()

template<size_t VBlock_Size, size_t VAlignment, size_t VSize>
virtual bool etl::fixed_sized_memory_block_allocator< VBlock_Size, VAlignment, VSize >::is_owner_of_block ( const void *const  pblock) const
inlineprotectedvirtual

Returns true if the allocator is the owner of the block.

Implements etl::imemory_block_allocator.

◆ release_block()

template<size_t VBlock_Size, size_t VAlignment, size_t VSize>
virtual bool etl::fixed_sized_memory_block_allocator< VBlock_Size, VAlignment, VSize >::release_block ( const void *const  pblock)
inlineprotectedvirtual

The overridden virtual function to release a block.

Implements etl::imemory_block_allocator.


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