Skip to main content

API Reference

Use chronon/Chronon.hpp as the standard entry point. The focused headers expose subsets of the same API; names below are available in chronon.

HeaderPrimary interfaces
chronon/Simulation.hppTickableUnit, TickSimulation, TickSimulationConfig, ExecutionPolicy, OutPort<T>, InPort<T>, Connection<T>, SendRate, QueueDepth; explicit clocks and CDC
chronon/Observation.hppObservableUnit, EventCounter, DerivedCounter, Category, TimelineLane, TimelineSpan and structured event arguments
chronon/Application.hppParam<T>, ParameterSet, AutoRegisteredUnit, SimulationBuilder, SimulationApp
chronon/Chronon.hppFull umbrella, including pipeline utilities, adapter interfaces and historical aliases

The focused headers are conveniences over the same types, not alternate APIs or independent link libraries. Continue linking chronon::core; current template and class layouts still require internal headers and observation dependencies. Existing umbrella includes and qualified subnamespace names remain valid.

Model, extension and implementation boundaries​

Model code defines tick(), sends and receives through ports, configures the simulation, and advances or finalizes it. Start with the quickstart. Use TickSimulation and TickSimulationConfig consistently in new model code; Simulation and SimulationConfig remain umbrella aliases for existing clients.

Extension code can integrate factories, tree bindings, custom transport adapters and placement inspection. PortDirectory, PortBindingRegistry, registerConnection() and the queue-installation methods serve that layer; they are not required to build an ordinary model. Their ownership and phase constraints are described in API contracts.

Implementation code includes scheduler progress records, invocation scratch, clock-runtime records and wait policies. Installed internal headers support C++ templates and class definitions; installation alone does not promise a stable extension API or binary layout. These implementation files are excluded from the default generated reference.

Browse generated declarations​

The API sidebar lists namespaces and classes when documentation is generated from the current source revision.

The generated reference includes advanced interfaces; the entry table above identifies the recommended starting points. Legacy option behavior is documented in Compatibility names.