Derive-C
Loading...
Searching...
No Matches
delete.h
Go to the documentation of this file.
1
3#pragma once
4
8
9#define DC_TRAIT_DELETABLE(SELF) DC_REQUIRE_METHOD(void, SELF, delete, (SELF*))
10
11#define DC_NO_DELETE(SELF) (void)(SELF)
12
13#define _DC_DERIVE_DELETE_MEMBER(MEMBER_TYPE, MEMBER_NAME) \
14 NS(MEMBER_TYPE, delete)(&self->MEMBER_NAME),
15
16#define DC_DERIVE_DELETE(TYPE) \
17 DC_PUBLIC static void NS(TYPE, delete)(TYPE * self) { \
18 NS(TYPE, REFLECT)(_DC_DERIVE_DELETE_MEMBER); \
19 }
20
21#define _DC_DERIVE_STD_DELETE(TYPE, ...) \
22 DC_PUBLIC static void NS(TYPE, \
23 delete)(TYPE * self /* NOLINT(readability-non-const-parameter) */) { \
24 (void)self; \
25 }
26
#define _DC_DERIVE_STD_DELETE(TYPE,...)
Definition delete.h:21
#define DC_STD_REFLECT(F,...)
Definition reflect.h:32
#define DC_FLOAT_REFLECT(F,...)
Definition reflect.h:25