Struct Acts::AbortList

template<typename ...aborters_t>
struct AbortList : public detail::Extendable<aborters_t...>

AbortList object to be used in the propagation.

The abort list is a list of structs or classes that is called at each propagation step and can trigger the abort of the current propagation.

It can (optionally) depend on a result of an Actor from the actor list.

Public Types

result_type = typename decltype(hana::unpack(detail::type_collector_t< detail::action_type_extractor, aborters_t... >, hana::template_< AbortList >))::type

Public Functions

AbortList() = default

Default constructor.

AbortList(const AbortList<aborters_t...> &aborters) = default

Default copy constructor.

Parameters

aborters – The source action list

AbortList(AbortList<aborters_t...> &&aborters) = default

Default move constructor.

Parameters

aborters – The source action list

inline AbortList(const std::tuple<aborters_t...> &aborters)

Constructor from tuple.

Parameters

aborters – Source extensions tuple

inline AbortList(std::tuple<aborters_t...> &&aborters)

Constructor from tuple move.

Parameters

aborters – Source extensions tuple

template<typename ...appendices_t>
inline AbortList<aborters_t..., appendices_t...> append(appendices_t... aps) const

Append new entries and return a new condition.

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

This is the call signature for the abort list, it broadcasts the call to the tuple() memembers of the list.

Template Parameters
  • result_t – is the result type from a certain action

  • propagator_state_t – is the state type of the propagator

  • stepper_t – Type of the stepper

Parameters
  • result[in] is the result object from a certain action

  • state[inout] is the state object from the propagator

  • stepper[in] Stepper used for the propagation

AbortList<aborters_t...> &operator=(const AbortList<aborters_t...> &aborters) = default

Default move assignment operator.

Parameters

aborters – The source action list

AbortList<aborters_t...> &operator=(AbortList<aborters_t...> &&aborters) = default

Default move assignment operator.

Parameters

aborters – The source action list