Expand description
C5.2: DDS-PSM-CXX 1.0 header skeleton layer.
Instead of a full codegen (which would be a Rust→C++ cross-compile),
this layer provides static header templates for the dds::core::*
namespace, plus codegen helpers that emit these templates for a concrete
topic IDL.
Spec reference: OMG DDS-PSM-CXX 1.0 (formal/22-08-04).
§Components
dds::core::Reference<T>/dds::core::Value<T>pattern (Spec §7.1.6).- Exception hierarchy (Spec §7.1.7).
- Listener / Status / Condition / WaitSet (Spec §8.3).
- Domain/Topic/Pub/Sub classes (Spec §8.1).
§API
emit_psm_cxx_includes: produces the#includeblock for a concrete topic name.emit_reference_value_pattern: emits the Reference/Value templates (Reference<T>,Value<T>).emit_listener_skeleton: emits the listener classes with the 13 status callbacks from Block F.emit_exception_hierarchy: emits the DDS exception classes.
The templates live statically under templates/dds-psm-cxx/*.hpp.tmpl
and are embedded at build time via include_str!.
Functions§
- emit_
condition_ skeleton - Emits the Condition/WaitSet classes from Spec §8.3.
- emit_
core_ basics - Emits the
dds::corebase headers (Time, Duration, InstanceHandle, Sample). - emit_
exception_ hierarchy - Emits the DDS exception hierarchy from Spec §7.1.7.
- emit_
full_ psm_ cxx_ skeleton - Produces a complete DDS-PSM-CXX skeleton header including all static templates. In the fixture tests it is checked merged against the existing C5.1-a outputs.
- emit_
listener_ skeleton - Emits the listener skeleton from Spec §8.3.
- emit_
psm_ cxx_ includes - Produces the
#includeblock for a concrete topic. - emit_
reference_ value_ pattern - Emits the Reference/Value pattern from Spec §7.1.6.