Add clean method for variant.

This commit is contained in:
Patrick Pelissier committed 2017-04-26 22:52:29 +02:00
1 parent 6d29968e34
commit 6cee535ccd
1 file changed
+7 -1
+7 -1
View File
@@ -47,6 +47,7 @@
VARIANTI_DEFINE_TEST_P(name, __VA_ARGS__) \
VARIANTI_DEFINE_SETTER(name, __VA_ARGS__) \
VARIANTI_DEFINE_GETTER(name, __VA_ARGS__) \
VARIANTI_DEFINE_CLEAN_FUNC(name, __VA_ARGS__) \
M_IF(VARIANTI_ALL_HASH(__VA_ARGS__)) \
(VARIANTI_DEFINE_HASH(name, __VA_ARGS__),) \
M_IF(VARIANTI_ALL_EQUAL(__VA_ARGS__)) \
@@ -164,7 +165,6 @@
VARIANTI_GET_CLEAR a (my -> value. VARIANTI_GET_FIELD a); \
break;
#define VARIANTI_DEFINE_TEST_P(name, ...) \
static inline bool M_C(name, _empty_p)(M_C(name,_t) my) { \
return my->type == M_C(name, _EMPTY); \
@@ -389,6 +389,12 @@
if (!b) return false; \
}
#define VARIANTI_DEFINE_CLEAN_FUNC(name, ...) \
static inline void M_C(name, _clean)(M_C(name,_t) my) \
{ \
M_C(name, _clear)(my); \
} \
#define VARIANTI_OPLIST(name, ...) \
(INIT(M_C(name,_init)), \
INIT_SET(M_C(name, _init_set)), \