Control a robot over the internet using UDP and a Wifly module (WiFi).

Dependencies:   Motor TextLCD WiflyInterface mbed-rtos mbed

Embed: (wiki syntax)

« Back to documentation index

MemoryPool< T, pool_sz > Class Template Reference

MemoryPool< T, pool_sz > Class Template Reference

Define and manage fixed-size memory pools of objects of a given type. More...

#include <MemoryPool.h>

Public Member Functions

 MemoryPool ()
 Create and Initialize a memory pool.
T * alloc (void)
 Allocate a memory block of type T from a memory pool.
T * calloc (void)
 Allocate a memory block of type T from a memory pool and set memory block to zero.
osStatus free (T *block)
 Return an allocated memory block back to a specific memory pool.

Detailed Description

template<typename T, uint32_t pool_sz>
class rtos::MemoryPool< T, pool_sz >

Define and manage fixed-size memory pools of objects of a given type.

Template Parameters:
Tdata type of a single object (element).
queue_szmaximum number of objects (elements) in the memory pool.

Definition at line 37 of file MemoryPool.h.


Constructor & Destructor Documentation

MemoryPool (  )

Create and Initialize a memory pool.

Definition at line 40 of file MemoryPool.h.


Member Function Documentation

T* alloc ( void   )

Allocate a memory block of type T from a memory pool.

Returns:
address of the allocated memory block or NULL in case of no memory available.

Definition at line 54 of file MemoryPool.h.

T* calloc ( void   )

Allocate a memory block of type T from a memory pool and set memory block to zero.

Returns:
address of the allocated memory block or NULL in case of no memory available.

Definition at line 61 of file MemoryPool.h.

osStatus free ( T *  block )

Return an allocated memory block back to a specific memory pool.

Parameters:
addressof the allocated memory block that is returned to the memory pool.
Returns:
status code that indicates the execution status of the function.

Definition at line 69 of file MemoryPool.h.