ClikaRT::runtime::PhaseSpec
struct
Header: ClikaRT/runtime/schema.h
One declared phase of a model. name is borrowed; it must point into storage the model keeps alive (e.g. a static string or a member), matching the internal "model owns the name" contract.
A phase may carry its body as a callable instead of an override: a RunOnce phase set with run_once, an Iterate phase set with iterate. FunctionModel dispatches to these so a casual model needs no subclass at all (the callable runs caller-side, contained exactly like a Model override). A hand-written Model ignores them and overrides Phase_RunOnce / Phase_Iterate directly.
Data members
name
std::string_view name
phase name; unique within the model
Declared in ClikaRT/runtime/schema.h, line 40
kind
PhaseKind kind = PhaseKind::RunOnce
execution shape: run once vs iterate per step
Declared in ClikaRT/runtime/schema.h, line 41
run_once
std::function<void(PhaseContext &)> run_once
body for a RunOnce phase (optional)
Declared in ClikaRT/runtime/schema.h, line 42
iterate
std::function<StepBatchOut(StepContext &)> iterate
body for an Iterate phase (optional)
Declared in ClikaRT/runtime/schema.h, line 43