Add control of type and oplists

This commit is contained in:
Patrick Pelissier committed 2020-05-17 11:53:27 +02:00
1 parent bf3ffd1766
commit 3885cb29a2
3 files changed
+24

No files matched your search

+7
View File
@@ -108,6 +108,7 @@ namespace m_tuple {
#define TUPLEI_DEF2_P3(name, ...) \
TUPLE_DEFINE_TYPE(name, __VA_ARGS__) \
TUPLE_DEFINE_ENUM(name, __VA_ARGS__) \
TUPLE_CONTROL_ALL_OPLIST(name, __VA_ARGS__) \
TUPLEI_IF_ALL(INIT, __VA_ARGS__) \
(TUPLE_DEFINE_INIT(name, __VA_ARGS__),) \
TUPLE_DEFINE_INIT_SET(name, __VA_ARGS__) \
@@ -210,6 +211,12 @@ namespace m_tuple {
#define TUPLE_DEFINE_ENUM_ELE(name, a) \
M_C4(name, _, TUPLE_GET_FIELD a, _value)
#define TUPLE_CONTROL_ALL_OPLIST(name, ...) \
M_MAP2(TUPLE_CONTROL_OPLIST, name, __VA_ARGS__)
#define TUPLE_CONTROL_OPLIST(name, a) \
M_CHECK_COMPATIBLE_OPLIST(name, TUPLE_GET_FIELD a, \
TUPLE_GET_TYPE a, TUPLE_GET_OPLIST a)
#define TUPLE_DEFINE_INIT(name, ...) \
static inline void M_C(name, _init)(M_C(name,_t) my) { \