Add missing function for variant:
variant_init_element variant_init_set_element
This commit is contained in:
1 parent
ddc1c7e98f
commit
34d0f8ec81
3 files changed
+45
-3
No files matched your search
+24
-2
@@ -40,6 +40,8 @@
|
||||
VARIANTI_DEFINE_INIT_SET(name, __VA_ARGS__) \
|
||||
VARIANTI_DEFINE_SET(name, __VA_ARGS__) \
|
||||
VARIANTI_DEFINE_TEST_P(name, __VA_ARGS__) \
|
||||
VARIANTI_DEFINE_INITER(name, __VA_ARGS__) \
|
||||
VARIANTI_DEFINE_INIT_SETTER(name, __VA_ARGS__) \
|
||||
VARIANTI_DEFINE_SETTER(name, __VA_ARGS__) \
|
||||
VARIANTI_DEFINE_GETTER(name, __VA_ARGS__) \
|
||||
VARIANTI_DEFINE_CLEAN_FUNC(name, __VA_ARGS__) \
|
||||
@@ -177,7 +179,28 @@
|
||||
}
|
||||
|
||||
|
||||
#define VARIANTI_DEFINE_SETTER(name, ...) \
|
||||
#define VARIANTI_DEFINE_INITER(name, ...) \
|
||||
M_MAP2(VARIANTI_DEFINE_INITER_FUNC, name, __VA_ARGS__)
|
||||
#define VARIANTI_DEFINE_INITER_FUNC(name, a) \
|
||||
static inline void M_C3(name, _init_, VARIANTI_GET_FIELD a)(M_C(name,_t) my) { \
|
||||
/* Reinit variable with the given value */ \
|
||||
my->type = M_C3(name, _, VARIANTI_GET_FIELD a); \
|
||||
VARIANTI_GET_INIT a(my -> value. VARIANTI_GET_FIELD a); \
|
||||
}
|
||||
|
||||
|
||||
#define VARIANTI_DEFINE_INIT_SETTER(name, ...) \
|
||||
M_MAP2(VARIANTI_DEFINE_INIT_SETTER_FUNC, name, __VA_ARGS__)
|
||||
#define VARIANTI_DEFINE_INIT_SETTER_FUNC(name, a) \
|
||||
static inline void M_C3(name, _init_set_, VARIANTI_GET_FIELD a)(M_C(name,_t) my, \
|
||||
VARIANTI_GET_TYPE a VARIANTI_GET_FIELD a ) { \
|
||||
my->type = M_C3(name, _, VARIANTI_GET_FIELD a); \
|
||||
VARIANTI_GET_INIT_SET a(my -> value. VARIANTI_GET_FIELD a, \
|
||||
VARIANTI_GET_FIELD a); \
|
||||
}
|
||||
|
||||
|
||||
#define VARIANTI_DEFINE_SETTER(name, ...) \
|
||||
M_MAP2(VARIANTI_DEFINE_SETTER_FUNC, name, __VA_ARGS__)
|
||||
#define VARIANTI_DEFINE_SETTER_FUNC(name, a) \
|
||||
static inline void M_C3(name, _set_, VARIANTI_GET_FIELD a)(M_C(name,_t) my, \
|
||||
@@ -194,7 +217,6 @@
|
||||
} \
|
||||
}
|
||||
|
||||
|
||||
#define VARIANTI_DEFINE_GETTER(name, ...) \
|
||||
M_MAP2(VARIANTI_DEFINE_GETTER_FUNC, name, __VA_ARGS__)
|
||||
#define VARIANTI_DEFINE_GETTER_FUNC(name, a) \
|
||||
|
||||
Reference in new issue
Block a user