From b8995e8af34dcada69bdfe16ca2c924a701a2e93 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Kim=20Nguy=E1=BB=85n?= Date: Wed, 22 Feb 2012 10:13:19 +0100 Subject: [PATCH] Allow to pass an explicit destructor when registering a custom tag for a given type. --- src/common_stub.hpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/common_stub.hpp b/src/common_stub.hpp index 5655a30..438b5d2 100644 --- a/src/common_stub.hpp +++ b/src/common_stub.hpp @@ -39,13 +39,13 @@ template void sxsi_finalize_custom(value v) sxsi_finalize_obj(Obj_val(v)); } -template value sxsi_alloc_custom() +template value sxsi_alloc_custom(void (*finalize)(value) = sxsi_finalize_custom) { char * name = const_cast(typeid(X).name()); value v = alloc_custom_(name); if (v == Val_unit) { - register_custom_(name, sizeof(X), sxsi_finalize_custom); + register_custom_(name, sizeof(X), finalize); v = alloc_custom_(name); }; return v; -- 2.17.1