Reduct  v4.0.5-1-g4851deb
A functional and immutable language.
Loading...
Searching...
No Matches
arena.h File Reference

Arena allocation. More...

#include <reduct/defs.h>
#include <stddef.h>
#include <stdint.h>
Include dependency graph for arena.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  reduct_arena_t
 Arena structure. More...
 
struct  reduct_arena_chunk_t
 Arena chunk descriptor. More...
 
struct  reduct_arena_local_t
 Per-thread arena-related state structure. More...
 

Macros

#define REDUCT_ARENA_MIN   1024
 The minimum size of an arena in bytes.
 
#define REDUCT_ARENA_GROWTH    2
 The factor by which we increase the minimum size until the needed capacity is reached./*#end#*‍/.
 
#define REDUCT_ARENA_CHUNK(_arena, _size, _data)   ((reduct_arena_chunk_t){(_arena), (_size), (_data)})
 Create an arena chunk descriptor.
 

Functions

REDUCT_API void reduct_arena_local_init (reduct_arena_local_t *local)
 Initialize a local arena state.
 
REDUCT_API void reduct_arena_local_deinit (reduct_arena_local_t *local)
 Deinitialize a local arena state.
 
REDUCT_API void reduct_arena_alloc (struct reduct *reduct, size_t size, reduct_arena_chunk_t *out)
 Allocate a chunk of memory from a arena.
 
REDUCT_API void reduct_arena_alloc_super (struct reduct *reduct, size_t size, reduct_arena_chunk_t *chunk, reduct_arena_chunk_t *out)
 Allocate a super chunk that starts with the specified chunk.
 

Detailed Description

Arena allocation.

Definition in file arena.h.