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

Scratch buffer allocation. More...

#include <reduct/atom.h>
#include <reduct/defs.h>
#include <reduct/error.h>
#include <reduct/item.h>
#include <reduct/list.h>
#include <reduct/native.h>
#include <reduct/schema.h>
Include dependency graph for scratch.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  reduct_scratch_t
 Scratch buffer structure. More...
 
struct  reduct_scratch_local_t
 Per-thread scratch-related state structure. More...
 

Macros

#define REDUCT_SCRATCH_INITIAL   128
 Initial scratch buffer size.
 
#define REDUCT_SCRATCH_MAX   16
 The maximum number of scratch buffers.
 
#define REDUCT_SCRATCH_GET(_reduct, _name, _type, _length)
 Allocate a scratch buffer.
 
#define REDUCT_SCRATCH_GROW(_reduct, _name, _type, _length)
 Grow an allocated scratch buffer, the current buffer must be the last one allocated.
 
#define REDUCT_SCRATCH_PUT(_reduct, _name)
 Free a scratch buffer, the current buffer must be the last one allocated.
 

Functions

REDUCT_API void reduct_scratch_local_init (reduct_scratch_local_t *local)
 Initialize a local scratch state.
 
REDUCT_API void reduct_scratch_local_deinit (reduct_scratch_local_t *local)
 Deinitialize a local scratch state.
 

Detailed Description

Scratch buffer allocation.

Definition in file scratch.h.