9#define DC_TRAIT_DELETABLE(SELF) DC_REQUIRE_METHOD(void, SELF, delete, (SELF*))
11#define DC_NO_DELETE(SELF) (void)(SELF)
13#define _DC_DERIVE_DELETE_MEMBER(MEMBER_TYPE, MEMBER_NAME) \
14 NS(MEMBER_TYPE, delete)(&self->MEMBER_NAME),
16#define DC_DERIVE_DELETE(TYPE) \
17 DC_PUBLIC static void NS(TYPE, delete)(TYPE * self) { \
18 NS(TYPE, REFLECT)(_DC_DERIVE_DELETE_MEMBER); \
21#define _DC_DERIVE_STD_DELETE(TYPE, ...) \
22 DC_PUBLIC static void NS(TYPE, \
23 delete)(TYPE * self ) { \
#define _DC_DERIVE_STD_DELETE(TYPE,...)
#define DC_STD_REFLECT(F,...)
#define DC_FLOAT_REFLECT(F,...)