diff options
Diffstat (limited to 'src/common/introspection.h')
-rw-r--r-- | src/common/introspection.h | 21 |
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 |