macro_rules! heap {
    (chunks=$chunk_amount:literal, chunksize=$chunk_size:literal) => { ... };
    (chunks=$chunk_amount:literal, chunksize=$chunk_size:path) => { ... };
    (chunks=$chunk_amount:path, chunksize=$chunk_size:path) => { ... };
    (chunks=$chunk_amount:path, chunksize=$chunk_size:literal) => { ... };
    (chunks=$chunk_amount:literal) => { ... };
    (chunks=$chunk_amount:path) => { ... };
    () => { ... };
}
Expand description

Helper macro that initializes a page-aligned static memory area with a correct size to get used as heap in crate::GlobalChunkAllocator.

Example

use simple_chunk_allocator::heap;

// chunk size: 256; chunk amount: 16
let heap = heap!(chunks = 256, chunksize = 16);

const CHUNK_SIZE: usize = 256;
const CHUNK_AMOUNT: usize = 24;
let heap = heap!(chunks = CHUNK_AMOUNT, chunksize = CHUNK_SIZE);
let heap = heap!(chunks = 24, chunksize = CHUNK_SIZE);
let heap = heap!(chunks = CHUNK_AMOUNT, chunksize = 256);