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