Embedded Template Library 1.0
Loading...
Searching...
No Matches
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.
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_type & get_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.
virtual bool release_block (const void *const pblock) ETL_OVERRIDE
 The overridden virtual function to release a block.
virtual bool is_owner_of_block (const void *const pblock) const ETL_OVERRIDE
 Returns true if the allocator is the owner of the block.

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: