summaryrefslogtreecommitdiff
path: root/src/common/introspection.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/common/introspection.h')
-rw-r--r--src/common/introspection.h21
1 files changed, 20 insertions, 1 deletions
diff --git a/src/common/introspection.h b/src/common/introspection.h
index 8aa1ae5..af64a20 100644
--- a/src/common/introspection.h
+++ b/src/common/introspection.h
@@ -182,7 +182,26 @@ static constexpr void for_each_member_field_set_value(T&& self, F&& fun) {
); \
}
+#define IORAP_INTROSPECT_ADAPT_STRUCT_IMPL_5(TYPE, m1, m2, m3, m4) \
+ static constexpr auto introspect_members(::iorap::introspect::type<TYPE>) { \
+ return std::make_tuple(::iorap::introspect::member_type<&TYPE::m1>{},\
+ ::iorap::introspect::member_type<&TYPE::m2>{},\
+ ::iorap::introspect::member_type<&TYPE::m3>{},\
+ ::iorap::introspect::member_type<&TYPE::m4>{}\
+ ); \
+ }
+
+#define IORAP_INTROSPECT_ADAPT_STRUCT_IMPL_6(TYPE, m1, m2, m3, m4, m5) \
+ static constexpr auto introspect_members(::iorap::introspect::type<TYPE>) { \
+ return std::make_tuple(::iorap::introspect::member_type<&TYPE::m1>{},\
+ ::iorap::introspect::member_type<&TYPE::m2>{},\
+ ::iorap::introspect::member_type<&TYPE::m3>{},\
+ ::iorap::introspect::member_type<&TYPE::m4>{},\
+ ::iorap::introspect::member_type<&TYPE::m5>{}\
+ ); \
+ }
+
// TODO: Consider using IORAP_PP_MAP
-#endif // IORAP_COMMON_INTROSPECTION_H \ No newline at end of file
+#endif // IORAP_COMMON_INTROSPECTION_H