aboutsummaryrefslogtreecommitdiff
path: root/memory.h
blob: b12f4f93d368a29dd2361e83ae1e60e8e338bcc9 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

#include <stddef.h>

#ifndef MEMORY_H
#include "types.h"
#define MEMORY_H
typedef struct {
    size cap;
    byte *beg;
    byte *end;
} Arena;

Arena Arena_new(size cap);
#define new(a, T, n) (T *)alloc(a, n, sizeof(T), _Alignof(T))
void *alloc(Arena *a, size count, size size, int align);
int Arena_get_used(Arena a);
#endif