Bertini 2 d882924 (2026-10-06 19:56 UTC)
Numerical algebraic geometry library (C++ core)
Loading...
Searching...
No Matches
bertini::algorithm::PathComplete< ObservedT > Class Template Reference

The algorithm has finished work on one solution path, carrying its index. More...

#include <events.hpp>

Inheritance diagram for bertini::algorithm::PathComplete< ObservedT >:
[legend]
Collaboration diagram for bertini::algorithm::PathComplete< ObservedT >:
[legend]

Public Types

using HeldT = typename AlgorithmEvent<ObservedT>::HeldT
 The held-observer type the event carries.

Public Member Functions

 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.
std::size_t PathIndex () const
Observable const * Tracker () const
 The tracker that executed this path – see PathStarted::Tracker().
SuccessCode Outcome () const
 How this path ended.
virtual ~PathComplete ()=default
 PathComplete ()=delete

Detailed Description

template<class ObservedT>
class bertini::algorithm::PathComplete< ObservedT >

The algorithm has finished work on one solution path, carrying its index.

Member Typedef Documentation

◆ HeldT

template<class ObservedT>
using bertini::algorithm::PathComplete< ObservedT >::HeldT = typename AlgorithmEvent<ObservedT>::HeldT

The held-observer type the event carries.

Constructor & Destructor Documentation

◆ PathComplete() [1/2]

template<class ObservedT>
bertini::algorithm::PathComplete< ObservedT >::PathComplete ( HeldT obs,
std::size_t path_index,
Observable const * tracker = nullptr,
SuccessCode outcome = SuccessCode::Success )
inline

Construct the event for the path at the given index.

Parameters
obsThe observed object emitting the event.
path_indexThe index of the solution path that has completed.
trackerThe tracker that executed this path (see Tracker()); may be null.
outcomeHow the path ended (see Outcome()).

◆ ~PathComplete()

template<class ObservedT>
virtual bertini::algorithm::PathComplete< ObservedT >::~PathComplete ( )
virtualdefault

◆ PathComplete() [2/2]

template<class ObservedT>
bertini::algorithm::PathComplete< ObservedT >::PathComplete ( )
delete

Member Function Documentation

◆ Outcome()

template<class ObservedT>
SuccessCode bertini::algorithm::PathComplete< ObservedT >::Outcome ( ) const
inline

How this path ended.

The endgame's code for a path that reached the endgame, and the pre-endgame code for one that did not get that far – in both cases the code already written to this path's own metadata slot. Carried on the event so a watcher can tally outcomes as they happen, rather than reaching into metadata another thread is still filling in.

Success here is not the same as a finite solution: classification (finite, at infinity, singular) happens after every path is done.

◆ PathIndex()

template<class ObservedT>
std::size_t bertini::algorithm::PathComplete< ObservedT >::PathIndex ( ) const
inline
Returns
The index of the solution path this event concerns.

◆ Tracker()

template<class ObservedT>
Observable const * bertini::algorithm::PathComplete< ObservedT >::Tracker ( ) const
inline

The tracker that executed this path – see PathStarted::Tracker().

A meta-observer detaches its per-path sub-observer from this same tracker on PathComplete.