Files
MeanField_SERiF/docs/man/man3/serif_solver_TimedObserver.3
Emily Boudreaux 6b57738330 docs(docs): built docs
Note for now much of the docs is LLM written. This was done to save time and focus on code development. The docs have been LOOSLEY reviewed. However, the code itself has been either fully written by hand or fully reviewed. Therefore, the docs should at the moment be seen as a loose resource rather than authoratiative (and this is on top of the general ability for docs to drift)
2026-11-09 14:09:44 -05:00

92 lines
3.3 KiB
Groff

.TH "serif::solver::TimedObserver< Observer >" 3 "Version v0.0.1a" "SERiF" \" -*- nroff -*-
.ad l
.nh
.SH NAME
serif::solver::TimedObserver< Observer > \- Measure solves explicitly while retaining an ordinary progress or stop callback\&.
.SH SYNOPSIS
.br
.PP
.PP
\fR#include <observers\&.hpp>\fP
.SS "Public Member Functions"
.in +1c
.ti -1c
.RI "\fBTimedObserver\fP (\fBSolveTiming\fP &timing, Observer observer={})"
.br
.RI "Borrow the timing destination and own the user's callback\&. "
.ti -1c
.RI "void \fBstarted\fP ()"
.br
.RI "Begin measurement when the solver starts evaluating its initial state\&. "
.ti -1c
.RI "void \fBfinished\fP (\fBSolveStatus\fP status, const \fBSolveDiagnostics\fP &diagnostics)"
.br
.RI "Accumulate a normally completed call independently of its convergence status\&. "
.ti -1c
.RI "decltype(auto) \fBoperator()\fP (\fBSolveEvent\fP event, const auto &state, const auto &system)"
.br
.RI "Preserve the callback's void or stop-request return type\&. "
.in -1c
.SS "Private Attributes"
.in +1c
.ti -1c
.RI "\fBSolveTiming\fP & \fBm_timing\fP"
.br
.ti -1c
.RI "Observer \fBm_observer\fP"
.br
.ti -1c
.RI "std::chrono::steady_clock::time_point \fBm_start\fP"
.br
.in -1c
.SH "Detailed Description"
.PP
.SS "template<typename Observer = NoObserver>
.br
class serif::solver::TimedObserver< Observer >"Measure solves explicitly while retaining an ordinary progress or stop callback\&.
.PP
\fBNote\fP
.RS 4
Reusing the same timing record accumulates resumed solves\&. Timing starts before initial evaluation and ends on any returned numerical result, including a rejected initial state\&. Exceptions propagate normally; an interrupted call contributes no completed-solve duration\&.
.RE
.PP
.SH "Constructor & Destructor Documentation"
.PP
.SS "template<typename Observer = NoObserver> \fBserif::solver::TimedObserver\fP< Observer >::TimedObserver (\fBSolveTiming\fP & timing, Observer observer = \fR{}\fP)\fR [inline]\fP, \fR [explicit]\fP"
.PP
Borrow the timing destination and own the user's callback\&.
.SH "Member Function Documentation"
.PP
.SS "template<typename Observer = NoObserver> void \fBserif::solver::TimedObserver\fP< Observer >::finished (\fBSolveStatus\fP status, const \fBSolveDiagnostics\fP & diagnostics)\fR [inline]\fP"
.PP
Accumulate a normally completed call independently of its convergence status\&.
.SS "template<typename Observer = NoObserver> decltype(auto) \fBserif::solver::TimedObserver\fP< Observer >::operator() (\fBSolveEvent\fP event, const auto & state, const auto & system)\fR [inline]\fP"
.PP
Preserve the callback's void or stop-request return type\&.
.SS "template<typename Observer = NoObserver> void \fBserif::solver::TimedObserver\fP< Observer >::started ()\fR [inline]\fP"
.PP
Begin measurement when the solver starts evaluating its initial state\&.
.SH "Member Data Documentation"
.PP
.SS "template<typename Observer = NoObserver> Observer \fBserif::solver::TimedObserver\fP< Observer >::m_observer\fR [private]\fP"
.SS "template<typename Observer = NoObserver> std::chrono::steady_clock::time_point \fBserif::solver::TimedObserver\fP< Observer >::m_start\fR [private]\fP"
.SS "template<typename Observer = NoObserver> \fBSolveTiming\fP& \fBserif::solver::TimedObserver\fP< Observer >::m_timing\fR [private]\fP"
.SH "Author"
.PP
Generated automatically by Doxygen for SERiF from the source code\&.