Skip to main content

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

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