10 #include <boost/hana/filter.hpp>
11 #include <boost/hana/set.hpp>
12 #include <boost/hana/type.hpp>
17 namespace hana = boost::hana;
26 [](
auto t) -> hana::type<
typename decltype(
t)::type::result_type>{});
31 static constexpr
auto extractor = hana::template_<extractor_impl>;
41 [](
auto t) -> hana::type<
typename decltype(
t)::type::action_type>{});
46 static constexpr
auto extractor = hana::template_<extractor_impl>;
55 constexpr
auto type_collector = [](
auto t_,
auto predicate,
auto extractor) {
57 constexpr
auto have_result =
61 constexpr
auto result_types =
74 template <
typename helper,
typename... items>
106 template <
typename T>