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

#include <stddef.h>

#ifndef MEMORY_H
#define MEMORY_H
typedef struct {
  ptrdiff_t cap;
  char *beg;
  char *end;
} Arena;

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