#include <modm/driver/storage/block_allocator.hpp>
|
| void | initialize (void *heapStart, void *heapEnd) |
| |
|
void * | allocate (std::size_t requestedSize) |
| | Allocate memory.
|
| |
| void | free (void *ptr) |
| |
|
std::size_t | getAvailableSize () const |
| |
template<typename T, unsigned int BLOCK_SIZE>
class modm::BlockAllocator< T, BLOCK_SIZE >
Memory allocator.
- Template Parameters
-
| BLOCK_SIZE | Size of one allocatable block in words (sizeof(T) bytes) (BLOCKSIZE * sizeof(T) * n) - 4 has to be dividable by 4 for every n |
- Author
- Fabian Greif
template<typename T , unsigned int BLOCK_SIZE>
| void modm::BlockAllocator< T, BLOCK_SIZE >::free |
( |
void * |
ptr | ) |
|
Free memory in O(1)
- Parameters
-
| ptr | Must be the same pointer previously acquired by allocate(). |
template<typename T , unsigned int BLOCK_SIZE>
| void modm::BlockAllocator< T, BLOCK_SIZE >::initialize |
( |
void * |
heapStart, |
|
|
void * |
heapEnd |
|
) |
| |
Initialize the raw memory.
Needs to called before any calls to allocate() or free(). Must be called only once!
- Parameters
-
| heapStart | Needs to point to the first available byte |
| heapEnd | Needs to point directly above the last available memory position. |
The documentation for this class was generated from the following file: