sic

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

arena.h (308B)



#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*);