Concept for types that can serve as Icarus components.
More...
#include <CoreTypes.hpp>
template<typename T, typename Scalar>
{ c.Name() } -> std::convertible_to<std::string>;
{ c.Provision(bp, cfg) } -> std::same_as<void>;
{ c.Stage(bp, cfg) } -> std::same_as<void>;
{ c.Step(t, dt) } -> std::same_as<void>;
}
Component-facing facade for signal registration and resolution.
Definition Backplane.hpp:32
Concept for types that can serve as Icarus components.
Definition CoreTypes.hpp:189
Configuration container for components.
Definition ComponentConfig.hpp:37
Concept for types that can serve as Icarus components.
A valid component must implement the core lifecycle methods:
- Provision(): Heavy setup, register signals
- Stage(): Wire inputs, apply ICs
- Step(): Hot path, compute derivatives