Skip to main content

Module psm_cxx

Module psm_cxx 

Source
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

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::core base 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 #include block for a concrete topic.
emit_reference_value_pattern
Emits the Reference/Value pattern from Spec §7.1.6.