Skip to content

Commit 49cb8c1

Browse files
CallOnMembers: add version, accepting mutable Object reference
Signed-off-by: Christian Parpart <[email protected]>
1 parent d5adb19 commit 49cb8c1

File tree

1 file changed

+7
-0
lines changed

1 file changed

+7
-0
lines changed

include/reflection-cpp/reflection.hpp

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -705,6 +705,13 @@ decltype(auto) CallOnMembers(Object const& object, Callable&& callable)
705705
[&]<auto I>() { callable(Reflection::MemberNameOf<I, Object>, std::get<I>(Reflection::ToTuple(object))); });
706706
}
707707

708+
template <typename Object, typename Callable>
709+
decltype(auto) CallOnMembers(Object& object, Callable&& callable)
710+
{
711+
template_for<0, Reflection::CountMembers<Object>>(
712+
[&]<auto I>() { callable(Reflection::MemberNameOf<I, Object>, std::get<I>(Reflection::ToTuple(object))); });
713+
}
714+
708715
template <typename Object, typename Callable, typename ResultType>
709716
constexpr ResultType FoldMembers(Object& object, ResultType initialValue, Callable const& callable)
710717
{

0 commit comments

Comments
 (0)