Skip to main content

Crate zerodds_dlrl_codegen

Crate zerodds_dlrl_codegen 

Source
Expand description

DLRL code-generation helpers — DDS 1.4 §B.4.

Crate zerodds-dlrl-codegen. Safety classification: STANDARD.

Generates language-specific boilerplate for the DLRL pragmas (DCPS_DATA_TYPE, DCPS_DATA_KEY, DCPS_DLRL_RELATION).

§Consumes

A list of zerodds_dlrl::pragma::DlrlPragma values that the frontend parser has already validated. From these pragmas, a home class plus object class is generated per DCPS_DATA_TYPE, a key field hint per DCPS_DATA_KEY, and a relationship accessor method per DCPS_DLRL_RELATION.

§Backends

  • cpp — C++ headers + inline implementations.
  • csharp— C# partial classes with [DlrlObject] attributes.
  • java — Java interfaces + skeleton implementations.
  • ts — TypeScript interfaces + class skeletons.

Re-exports§

pub use cpp::generate_cpp_home;
pub use cpp::generate_cpp_object;
pub use csharp::generate_csharp_object;
pub use csharp::generate_csharp_partial;
pub use java::generate_java_object;
pub use java::generate_java_object_listener;
pub use ts::generate_ts_class;
pub use ts::generate_ts_interface;

Modules§

cpp
C++ codegen — DDS 1.4 §B.4 Annex C++ PSM.
csharp
C# codegen — DDS 1.4 §B.4 (analogous to the C++ PSM, dotnet form).
java
Java codegen — DDS 1.4 §B.4 Annex Java PSM.
ts
TypeScript-Codegen — DDS-XRCE 1.0 + DDS-TS 1.0 (Annex Web-PSM).

Structs§

DlrlTypeInfo
Aggregated type info — all pragmas that pertain to a single type.

Functions§

collect_type_infos
Collects a DlrlTypeInfo map from a flat pragma list (key = type name).