Template Struct ActionList

Inheritance Relationships

Base Type

  • public detail::Extendable< actors_t... >

Struct Documentation

template<typename ...actors_t>
struct Acts::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>
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.

Return

bool type indiciating if the step size can be released

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
  • [inout] prop: is the propagator state object

  • [in] stepper: The stepper in use

  • [inout] result: 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