zerodds-cdr-derive
Proc-macro #[derive(DdsType)] fuer XCDR2 TypeSupport. Implementiert
zerodds-xcdr2-rust-1.0
§11.1.
Was diese Crate tut
Annotiert einen Plain-Rust-struct und emittiert zur Compile-Zeit eine
impl zerodds_dcps::DdsType-Implementation, die XCDR2 byte-genau gegen
OMG XTypes 1.3 §7.4 encoded und
decoded — gleiche Wire-Form wie der idl-rust-Codegen.
Spec + Layer
- Spec:
zerodds-xcdr2-rust-1.0§11.1; XTypes 1.3 §7.4 + §7.6.8.4. - Layer: 1 Primitives (Helper fuer
zerodds-cdrundzerodds-dcps).
Quickstart
use DdsType;
// Generiert automatisch:
// impl zerodds_dcps::DdsType for Sensor {
// const TYPE_NAME: &'static str = "Sensor";
// const HAS_KEY: bool = true;
// fn encode(&self, out: &mut Vec<u8>) -> ... { ... }
// fn decode(bytes: &[u8]) -> Result<Self, ...> { ... }
// fn encode_key_holder_be(&self, holder: ...) { ... }
// }
Feature-Flags
Keine.
Stability
Alle pub-Items sind 1.0.0-rc.1-stabil. Das exakte Token-Layout des
Macro-Outputs kann zwischen Minor-Versionen aendern; die emittierte
impl DdsType-Form bleibt spec-konform.
Links
- Spec:
docs/specs/zerodds-xcdr2-rust-1.0.md - Coverage:
docs/spec-coverage/zerodds-xcdr2-rust-1.0.md - Tests:
crates/cdr-derive/tests/derive_smoke.rs(6 Tests, byte-genau zu V-2-Wire-Vector). - CHANGELOG:
CHANGELOG.md.