L4Re - L4 Runtime Environment
cxx::List_alloc Class Reference

Standard list-based allocator. More...

+ Collaboration diagram for cxx::List_alloc:

Public Member Functions

 List_alloc ()
 Initializes an empty list allocator. More...
void free (void *block, unsigned long size, bool initial_free=false)
 Return a free memory block to the allocator. More...
void * alloc (unsigned long size, unsigned align)
 Alloc a memory block. More...
void * alloc_max (unsigned long min, unsigned long *max, unsigned align, unsigned granularity)
 Allocate a memory block of min <= size <=max. More...
unsigned long avail ()
 Get the amount of available memory. More...

Detailed Description

Standard list-based allocator.

Definition at line 31 of file list_alloc.

Constructor & Destructor Documentation

◆ List_alloc()

cxx::List_alloc::List_alloc ( )

Initializes an empty list allocator.

To initialize the allocator with available memory use the free() function.

Definition at line 56 of file list_alloc.

Member Function Documentation

◆ alloc()

void * cxx::List_alloc::alloc ( unsigned long  size,
unsigned  align 

Alloc a memory block.

sizeSize of the memory block
alignAlignment constraint
Pointer to memory block

Definition at line 354 of file list_alloc.

◆ alloc_max()

void * cxx::List_alloc::alloc_max ( unsigned long  min,
unsigned long *  max,
unsigned  align,
unsigned  granularity 

Allocate a memory block of min <= size <=max.

minMinimal size to allocate.
[in,out]maxMaximum size to allocate. The actual allocated size is returned here.
alignAlignment constraint.
granularityGranularity to use for the allocation.
Pointer to memory block

Definition at line 257 of file list_alloc.

◆ avail()

unsigned long cxx::List_alloc::avail ( )

Get the amount of available memory.

Available memory in bytes

Definition at line 425 of file list_alloc.

◆ free()

void cxx::List_alloc::free ( void *  block,
unsigned long  size,
bool  initial_free = false 

Return a free memory block to the allocator.

blockpointer to memory block
sizesize of memory block
initial_freeSet to true for putting fresh memory to the allocator. This will enforce alignment on that memory.

Definition at line 218 of file list_alloc.

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