Skip to main content

Module xtypes_def

Module xtypes_def 

Source
Expand description

DDS-XML 1.0 §7.3.3 Building Block “Types” — Datenmodell.

Beschreibungs-Datenmodell der XML-Sicht auf XTypes 1.3 Type-Definitionen.

zerodds-xml haelt bewusst eine eigenstaendige Beschreibungsschicht und macht keine Cross-Crate-Edge zu zerodds-types::DynamicType. Hoeher liegende Adapter koennen die hier gehaltenen Strukturen spaeter in ihre DCPS-Datenmodelle uebersetzen.

Spec-Quelle: OMG DDS-XML 1.0 §7.3.3 (Types Building Block).

§XML → Rust-Type Mapping

<types>                          | Vec<TypeLibrary> (multiple <types> erlaubt)
<module name=…>                  | TypeLibrary / TypeDef::Module(ModuleEntry)
<struct name=… extensibility=…   |
        baseType=…>              | TypeDef::Struct(StructType)
<member name=… type=… key=…      |
        optional=… id=…          |
        arrayDimensions=…        |
        sequenceMaxLength=…      |
        stringMaxLength=…>       | StructMember
<enum name=…>                    | TypeDef::Enum(EnumType)
<enumerator name=… value=…>      | EnumLiteral
<union name=… discriminator=…>   | TypeDef::Union(UnionType)
<case><caseDiscriminator/>       |
      <member …/></case>         | UnionCase
<typedef name=… type=… …>        | TypeDef::Typedef(TypedefType)
<bitmask name=… bitBound=…>      | TypeDef::Bitmask(BitmaskType)
<bit_value name=… position=…>    | BitValue
<bitset name=…>                  | TypeDef::Bitset(BitsetType)
<bitfield name=… type=… mask=…>  | BitField

Structs§

BitField
Einzelnes <bitfield>-Element eines Bitsets.
BitValue
Einzelner <bit_value>-Eintrag.
BitmaskType
<bitmask>-Definition (Spec §7.3.3.4.8).
BitsetType
<bitset>-Definition (Spec §7.3.3.4.9).
ConstEntry
<const name="X" type="long" value="42"/>.
EnumLiteral
Einzelner <enumerator>-Eintrag.
EnumType
<enum>-Definition (Spec §7.3.3.4.5).
ForwardDeclEntry
<forward_dcl name="T" kind="STRUCT|UNION"/>.
IncludeEntry
<include file="..."/> — XML-Composition.
ModuleEntry
Geschachteltes Modul (<module name="…"> — Spec §7.3.3.4.1).
StructMember
Einzelner Struct-Member (<member …/> — Spec §7.3.3.4.4.1).
StructType
<struct>-Definition (Spec §7.3.3.4.4).
TypeLibrary
Container fuer 1+ Type-Definitionen aus einem <types>-Block.
TypedefType
<typedef>-Definition (Spec §7.3.3.4.7).
UnionCase
<case>-Eintrag (Spec §7.3.3.4.6.1).
UnionType
<union>-Definition (Spec §7.3.3.4.6).

Enums§

Extensibility
Extensibility-Annotation (@final, @appendable, @mutable) — Spec §7.2.3.5 + §7.3.3.4.4.1.
PrimitiveType
Primitive-Type-Symbol gemaess Spec §7.2.1 + §7.3.3.4.4.2.
TypeDef
Ein einzelner Type-Eintrag (Spec §7.3.3.4 — Struct/Enum/Union/Typedef/ Bitmask/Bitset oder geschachteltes Modul).
TypeRef
Type-Verweis aus einem type=…-Attribut (Member, Typedef, Bitfield- Mask): entweder Primitive-Symbol oder Named-Reference auf einen nutzer-definierten Type (MyModule::State).
UnionDiscriminator
Discriminator-Wert eines Cases.