Getting Started with C++
C++ bindings for HORUS are currently in development. When released, they will give C++ developers direct access to HORUS's shared-memory IPC, real-time scheduling, and the full message type system -- with near-zero overhead.
Planned Approach
The bindings will use smart codegen driven by #[horus_api] annotations on the Rust source. Rather than hand-writing CXX bridge code, a code generator will automatically produce idiomatic C++ headers and implementation files from annotated Rust APIs. This keeps the loan-pattern architecture (6 ns constant overhead) while automating the entire bridge layer.
Key goals for the C++ bindings:
- Idiomatic C++ API -- RAII resource management, STL-compatible containers, and familiar naming conventions.
- Zero-copy where possible -- Shared-memory topics will be accessible without serialization round-trips.
- Header-only consumer layer -- Include a single header to get started; no separate link step beyond the HORUS runtime.
- Full message compatibility -- Every message type available in Rust and Python will also be available in C++.
Current Status
The implementation order is: GPU native layer, then C++ bindings, then embedded targets. C++ bindings are the next major language milestone after the GPU work lands.
Stay Updated
- Subscribe to releases on GitHub to get notified when C++ support ships.
- Check the language comparison page for the latest on supported languages.