26 lines
526 B
C
26 lines
526 B
C
#ifndef WITH99_DEFRES_H
|
|
#define WITH99_DEFRES_H
|
|
|
|
#define WITH99_resource_Void_IMPL(var, init) \
|
|
ML99_tuple(\
|
|
ML99_just(v(void *var)),\
|
|
ML99_just(v(var = init, 0)),\
|
|
ML99_just(v(free(var)))\
|
|
)
|
|
|
|
#define WITH99_resource_Memory_IMPL(var, type, init) \
|
|
ML99_tuple(\
|
|
ML99_just(v(type *var)),\
|
|
ML99_just(v(var = init, 0)),\
|
|
ML99_just(v(free(var)))\
|
|
)
|
|
|
|
#define WITH99_resource_Adhoc_IMPL(var, type, init) \
|
|
ML99_tuple(\
|
|
ML99_just(v(type var)),\
|
|
ML99_just(v(var = init, 0)),\
|
|
ML99_just(v(free(var)))\
|
|
)
|
|
|
|
#endif
|