|
Bertini 2 d882924 (2026-10-06 19:56 UTC)
Numerical algebraic geometry library (C++ core)
|
The algorithm is beginning work on one solution path, carrying its index. More...
#include <events.hpp>
Public Types | |
| using | HeldT = typename AlgorithmEvent<ObservedT>::HeldT |
| The held-observer type the event carries. | |
Public Member Functions | |
| PathStarted (HeldT obs, std::size_t path_index, Observable const *tracker=nullptr) | |
| Construct the event for the path at the given index. | |
| std::size_t | PathIndex () const |
| Observable const * | Tracker () const |
| The tracker that actually executes this path. | |
| virtual | ~PathStarted ()=default |
| PathStarted ()=delete | |
The algorithm is beginning work on one solution path, carrying its index.
Between this and the matching PathComplete, the algorithm runs everything for that path – the main homotopy track and any endgame sub-tracks – so an observer can group them together as one complete solution path.
| using bertini::algorithm::PathStarted< ObservedT >::HeldT = typename AlgorithmEvent<ObservedT>::HeldT |
The held-observer type the event carries.
|
inline |
Construct the event for the path at the given index.
| obs | The observed object emitting the event. |
| path_index | The index of the solution path being started. |
| tracker | The tracker that will execute this path (see Tracker()); may be null. |
|
virtualdefault |
|
delete |
|
inline |
|
inline |
The tracker that actually executes this path.
In a serial solve this is the solver's member tracker; in a threaded solve it is the thread-local tracker clone that owns the path (Observable copies inherit no observers, so the member tracker would see nothing). A meta-observer that wants per-path tracking data must attach its sub-observer here, NOT to solver.GetTracker(). AddObserver is a const method, so observers can still be attached through this const handle. May be null if the emitter supplied no tracker.