sic

The sic programming language, compiler and tools (WIP)
Log | Files | Refs

arena.h (311B)



#pragma once

#include <stddef.h>

#define ARENA_ALLOC(arena, type) \
    ((type *)arena_alloc((arena), sizeof(type), alignof(type)))

typedef struct Arena Arena;

Arena *arena_init(size_t bytes);

void *arena_alloc(Arena *, size_t size, size_t align);

void arena_reset(Arena *);

void arena_destroy(Arena *);