69 template<
class ObservedT>
71 { BOOST_TYPE_INDEX_REGISTER_CLASS
74 using HeldT =
typename AlgorithmEvent<ObservedT>::HeldT;
82 : AlgorithmEvent<ObservedT>(obs), path_index_(path_index), tracker_(tracker)
86 std::size_t
PathIndex()
const {
return path_index_; }
103 std::size_t path_index_;
110 template<
class ObservedT>
112 { BOOST_TYPE_INDEX_REGISTER_CLASS
115 using HeldT =
typename AlgorithmEvent<ObservedT>::HeldT;
125 : AlgorithmEvent<ObservedT>(obs), path_index_(path_index), tracker_(tracker),
152 std::size_t path_index_;
An abstract observable type, maintaining a list of observers, who can be notified in case of Events.
Definition observable.hpp:66
SuccessCode Outcome() const
How this path ended.
Definition events.hpp:147
typename AlgorithmEvent< ObservedT >::HeldT HeldT
The held-observer type the event carries.
Definition events.hpp:115
PathComplete(HeldT obs, std::size_t path_index, Observable const *tracker=nullptr, SuccessCode outcome=SuccessCode::Success)
Construct the event for the path at the given index.
Definition events.hpp:123
virtual ~PathComplete()=default
Observable const * Tracker() const
The tracker that executed this path – see PathStarted::Tracker().
Definition events.hpp:134
std::size_t PathIndex() const
Definition events.hpp:130
PathStarted(HeldT obs, std::size_t path_index, Observable const *tracker=nullptr)
Construct the event for the path at the given index.
Definition events.hpp:81
std::size_t PathIndex() const
Definition events.hpp:86
typename AlgorithmEvent< ObservedT >::HeldT HeldT
The held-observer type the event carries.
Definition events.hpp:74
virtual ~PathStarted()=default
Observable const * Tracker() const
The tracker that actually executes this path.
Definition events.hpp:98
Contains the detail/events base types.
#define ADD_BERTINI_EVENT_TYPE(event_name, event_parenttype)
Defines a new event type in a hierarchy.
Definition events.hpp:166
Definition algorithm_base.hpp:34
Definition algorithm_builder.hpp:36
Event< ObsT, true > ConstEvent
An event holding a const reference to its observable.
Definition events.hpp:154
SuccessCode
Definition config.hpp:42
@ Success
Definition config.hpp:51
Contains the observable base types.