14 typedef int t_note_id;
34 virtual void perform(
const char *a_label) = 0;
35 virtual void perform(
const t_note_id &a_note_id) = 0;
36 virtual t_note_id note_id(
const char *a_label) = 0;
37 virtual t_note_id connect(
SystemI *a_system,
const char *a_label) = 0;
39 const char *a_label) = 0;
49 virtual void setDT(t_moa_real a_dt) = 0;
51 virtual t_moa_real getDT(
void) = 0;
53 virtual void step(
const t_step_mode &a_step_mode=
e_step_dt,
54 t_moa_real a_time=0.0) = 0;
56 virtual t_moa_real getTime(
void) = 0;
58 typedef std::function<void(const t_note_id &)> t_note_perform;
59 virtual t_note_id connect(t_note_perform a_perform,
const char *a_label) = 0;
61 template <
class F,
class S>
62 t_note_id connect(S *s, F&& f,
const char *a_label)
64 t_note_perform fn = std::bind(f, s, std::placeholders::_1);
65 return connect(fn, a_label);
70 virtual bool compile(
void) = 0;
Orchestrate signalling of SystemI components.
Definition: OrchestratorI.h:28
as close as possible but not under via DT's
Definition: OrchestratorI.h:23
kernel
Definition: namespace.dox:3
t_step_mode
Definition: OrchestratorI.h:18
as close as possible but not over via DT's
Definition: OrchestratorI.h:22
take a single time step
Definition: OrchestratorI.h:21
Base for all interfacable components.
Definition: Component.h:20
Intrusive Smart Pointer.
Definition: src/core/ptr.h:53
System Interface for MOA.
Definition: SystemI.h:18
Per-class participation non-RTTI fallback dynamic casting mechanism.
Definition: Castable.h:192