Struct Acts::ActionList

template<typename ...actors_t>
struct ActionList : public detail::Extendable<actors_t...>

ActionList implementation to be used with the propagator.

This is the ActionList struct that is used in the propagator to define a list of different actors_t that are eacch executed during the stepping procedure

Public Types

result_type = typename decltype(hana::unpack(detail::type_collector_t< detail::result_type_extractor, actors_t... >, hana::template_< R >))::type

Public Functions

ActionList() = default

Default constructor.

ActionList(const ActionList<actors_t...> &actors) = default

Default copy constructor.

Parameters

actors – The source action list

ActionList(ActionList<actors_t...> &&actors) = default

Default move constructor.

Parameters

actors – The source action list

template<typename propagator_state_t, typename stepper_t, typename result_t>
inline void operator()(propagator_state_t &state, const stepper_t &stepper, result_t &result) const

Call operator that is that broadcasts the call to the tuple() members of the list.

Template Parameters
  • propagator_state_t – is the state type of the propagator

  • stepper_t – Type of the stepper used for the propagation

  • result_t – is the result type from actions

Parameters
  • state[inout] This is the propagator state object

  • stepper[in] The stepper in use

  • result[inout] This is the result object from actions

ActionList<actors_t...> &operator=(const ActionList<actors_t...> &actors) = default

Default move assignment operator.

Parameters

actors – The source action list

ActionList<actors_t...> &operator=(ActionList<actors_t...> &&actors) = default

Default move assignment operator.

Parameters

actors – The source action list