24 lines
459 B
C
24 lines
459 B
C
|
|
#ifndef RR_ALLOC_H
|
|
#define RR_ALLOC_H
|
|
|
|
#include <librr/types.h>
|
|
|
|
typedef struct rr_arena rr_arena_s;
|
|
|
|
struct rr_arena
|
|
{
|
|
usz_t capacity;
|
|
usz_t usage;
|
|
void *allocation;
|
|
rr_arena_s *continuation;
|
|
bool_t allow_continuation;
|
|
};
|
|
|
|
rr_arena_s * rr_new_fixed_arena(usz_t capacity);
|
|
rr_arena_s * rr_new_dynamic_arena(usz_t capacity);
|
|
void rr_delete_arena(rr_arena_s *arena);
|
|
void * rr_aalloc(rr_arena_s *arena, usz_t amount);
|
|
|
|
#endif // RR_ALLOC_H
|