Simplify static_for_each_in

This commit is contained in:
Denis Blank 2017-10-03 18:33:44 +02:00
parent 457a9dca00
commit 342d08ab1d
2 changed files with 3 additions and 7 deletions

View File

@ -48,6 +48,7 @@ void assert_async_completion(C&& continuable) {
// Workaround for our known GCC bug. // Workaround for our known GCC bug.
util::unused(std::forward<decltype(args)>(args)...); util::unused(std::forward<decltype(args)>(args)...);
}); });
ASSERT_TRUE(*called); ASSERT_TRUE(*called);
} }

View File

@ -346,14 +346,9 @@ constexpr void static_for_each_in(Sequenceable&& sequenceable,
Handler&& handler) { Handler&& handler) {
unpack( unpack(
std::forward<Sequenceable>(sequenceable), [&](auto&&... entries) mutable { std::forward<Sequenceable>(sequenceable), [&](auto&&... entries) mutable {
auto consume = [&](auto&& entry) mutable {
handler(std::forward<decltype(entry)>(entry));
return 0;
};
// Apply the consume function to every entry inside the pack // Apply the consume function to every entry inside the pack
auto deduce = {0, consume(std::forward<decltype(entries)>(entries))...}; std::initializer_list<int>{0,
(void)deduce; ((void)handler(std::forward<decltype(entries)>(entries)), 0)...};
(void)consume;
}); });
} }