Add control of type and oplists
This commit is contained in:
1 parent
bf3ffd1766
commit
3885cb29a2
3 files changed
+24
No files matched your search
@@ -81,6 +81,7 @@
|
||||
/* Define the variant */
|
||||
#define VARIANTI_DEF2_P3(name, ...) \
|
||||
VARIANTI_DEFINE_TYPE(name, __VA_ARGS__) \
|
||||
VARIANTI_CONTROL_ALL_OPLIST(name, __VA_ARGS__) \
|
||||
VARIANTI_DEFINE_INIT(name, __VA_ARGS__) \
|
||||
VARIANTI_DEFINE_CLEAR(name, __VA_ARGS__) \
|
||||
VARIANTI_DEFINE_INIT_SET(name, __VA_ARGS__) \
|
||||
@@ -176,6 +177,13 @@
|
||||
VARIANTI_GET_TYPE a VARIANTI_GET_FIELD a ;
|
||||
|
||||
|
||||
#define VARIANTI_CONTROL_ALL_OPLIST(name, ...) \
|
||||
M_MAP2(VARIANTI_CONTROL_OPLIST, name, __VA_ARGS__)
|
||||
#define VARIANTI_CONTROL_OPLIST(name, a) \
|
||||
M_CHECK_COMPATIBLE_OPLIST(name, VARIANTI_GET_FIELD a, \
|
||||
VARIANTI_GET_TYPE a, VARIANTI_GET_OPLIST a)
|
||||
|
||||
|
||||
#define VARIANTI_DEFINE_INIT(name, ...) \
|
||||
static inline void M_C(name, _init)(M_C(name,_t) my) { \
|
||||
my->type = M_C(name, _EMPTY); \
|
||||
|
||||
Reference in new issue
Block a user