From 2c1d945e5fa5358f1463424a3f93994945136180 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?b=CA=B0edoh=E2=82=82=20sw=C3=A9?= Date: Sun, 9 Feb 2025 17:53:55 +0500 Subject: [PATCH] Add predefined resources. --- include/with99/defres.h | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 include/with99/defres.h diff --git a/include/with99/defres.h b/include/with99/defres.h new file mode 100644 index 0000000..f7278b9 --- /dev/null +++ b/include/with99/defres.h @@ -0,0 +1,24 @@ +#ifndef WITH99_DEFRES_H +#define WITH99_DEFRES_H + +#define WITH99_resource_type_Void_IMPL(var, _) v(void*) +#define WITH99_resource_init_Void_IMPL(var, init) v((var = init)) +#define WITH99_resource_free_Void_IMPL(var, ...) v((free(var))) +#define WITH99_resource_throws_Void_IMPL(...) ML99_false() + +#define WITH99_resource_type_Memory_IMPL(var, type, _) v(type*) +#define WITH99_resource_init_Memory_IMPL(var, _, init) v((var = init)) +#define WITH99_resource_free_Memory_IMPL(var, ...) v((free(var))) +#define WITH99_resource_throws_Memory_IMPL(...) ML99_false() + +#define WITH99_resource_type_Adhoc_IMPL(var, type, _1, _2) v(type) +#define WITH99_resource_init_Adhoc_IMPL(var, _1, init, _2) v((var = init)) +#define WITH99_resource_free_Adhoc_IMPL(var, _1, _2, deinit) v((deinit)) +#define WITH99_resource_throws_Adhoc_IMPL(...) ML99_false() + +#define WITH99_resource_type_AdhocThrows_IMPL(var, type, _1, _2) v(type) +#define WITH99_resource_init_AdhocThrows_IMPL(var, _1, init, _2) v((var = init)) +#define WITH99_resource_free_AdhocThrows_IMPL(var, _1, _2, deinit) v((deinit)) +#define WITH99_resource_throws_AdhocThrows_IMPL(...) ML99_true() + +#endif