18 #include <boost/hana/type.hpp>
19 #include <boost/hana/unpack.hpp>
21 namespace hana = boost::hana;
30 template <
typename... actors_t>
33 static_assert(not detail::has_duplicates_v<actors_t...>,
34 "same action type specified several times");
40 template <
template <
typename...>
class R>
42 detail::type_collector_t<detail::result_type_extractor, actors_t...>,
43 hana::template_<R>))::type;
84 template <
typename propagator_state_t,
typename stepper_t,
typename result_t>
86 result_t& result)
const {
89 propagator_state_t, stepper_t>...>,
90 "not all actors support the method signature");
93 using impl = detail::action_list_impl<actors_t...>;
94 impl::action(
tuple(), state, stepper, result);