C+
Packages · View as Markdown

static_arena

Fixed-size bump allocator in the struct itself — no malloc. Stack or static storage; Option on overflow.

[dependencies]
static_arena = "*"
stdlib = "*"
import "static_arena/static_arena" as sa;
import "stdlib/option" as option;

var a: sa::StaticArena16K = sa::StaticArena16K::new();
guard let option::Option[*u8]::Some(p) = a.alloc_bytes(64usize) else {
    return;
};

Growing heap sibling: arena.

Docs

Tests

Unit tests live in src/static_arena.cplus.

cd vendor/static_arena && cpc test