Go to the documentation of this file.
19 #ifndef LBM_CUSTOM_TYPE_H_
20 #define LBM_CUSTOM_TYPE_H_
33 #define CUSTOM_TYPE_VALUE 0
34 #define CUSTOM_TYPE_DESCRIPTOR 1
35 #define CUSTOM_TYPE_DESTRUCTOR 2
36 #define CUSTOM_TYPE_LBM_MEM_SIZE 3
lbm_value lbm_car(lbm_value cons)
Definition: heap.c:902
bool lbm_custom_type_destroy(lbm_uint *lbm_mem_ptr)
Definition: lbm_custom_type.c:47
static lbm_cons_t * lbm_ref_cell(lbm_value addr)
Definition: heap.h:970
uint32_t lbm_uint
Definition: lbm_types.h:48
static const char * lbm_get_custom_descriptor(lbm_value value)
Definition: lbm_custom_type.h:71
#define LBM_TYPE_CUSTOM
Definition: lbm_defines.h:55
static bool lbm_is_symbol_nil(lbm_value exp)
Definition: heap.h:834
static bool lbm_is_custom(lbm_value value)
Definition: lbm_custom_type.h:66
lbm_value car
Definition: heap.h:204
bool lbm_custom_type_create(lbm_uint value, custom_type_destructor fptr, const char *desc, lbm_value *result)
Definition: lbm_custom_type.c:23
#define CUSTOM_TYPE_VALUE
Definition: lbm_custom_type.h:33
#define CUSTOM_TYPE_DESCRIPTOR
Definition: lbm_custom_type.h:34
static lbm_uint lbm_get_custom_value(lbm_value value)
Definition: lbm_custom_type.h:77
bool(* custom_type_destructor)(lbm_uint)
Definition: lbm_custom_type.h:45
static lbm_type lbm_type_of(lbm_value x)
Definition: heap.h:663
uint32_t lbm_value
Definition: lbm_types.h:44
lbm_uint lbm_dec_custom(lbm_value val)
Definition: heap.c:250