Skip to main content

Module type_identifier

Module type_identifier 

Source
Expand description

XTypes 1.3 TypeIdentifier (Spec §7.3.4.2).

TypeIdentifier ist eine CDR-Union mit octet-Discriminator. Er identifiziert einen Typ entweder direkt (Primitives, plain Collections) oder indirekt ueber einen 14-byte SHA-256-Hash auf das serialisierte TypeObject (EK_MINIMAL / EK_COMPLETE).

§Wire-Encoding (XCDR2 LE)

TypeIdentifier {
    octet _d;            // 1 byte discriminator
    // body abhaengig von _d:
    // TK_NONE..TK_CHAR16:          no body
    // TI_STRING8_SMALL/LE_SMALL:   { octet bound; }
    // TI_STRING8_LARGE/LE_LARGE:   { uint32 bound; }  // 4-byte aligned
    // TI_PLAIN_SEQUENCE_SMALL:     { PlainCollectionHeader; octet bound; @external TypeIdentifier elem; }
    // TI_PLAIN_SEQUENCE_LARGE:     { PlainCollectionHeader; uint32 bound; @external TypeIdentifier elem; }
    // TI_PLAIN_ARRAY_SMALL:        { PlainCollectionHeader; seq<octet,5> dims; @external TypeIdentifier elem; }
    // TI_PLAIN_ARRAY_LARGE:        { PlainCollectionHeader; seq<uint32,5> dims; @external TypeIdentifier elem; }
    // TI_PLAIN_MAP_SMALL:          { PlainCollectionHeader; octet bound;
    //                                @external TypeIdentifier elem;
    //                                CollectionElementFlag key_flags;
    //                                @external TypeIdentifier key; }
    // TI_PLAIN_MAP_LARGE:          { ... uint32 bound ... }
    // TI_STRONGLY_CONNECTED_COMPONENT: { SCC_ID scc_id; }
    // EK_MINIMAL / EK_COMPLETE:    { octet hash[14]; }
}

Modules§

kinds
XTypes 1.3 TypeIdentifier-Discriminator-Konstanten.

Structs§

CollectionElementFlag
Collection-Element-Flags (§7.3.4.7.1). 16-bit Bitmaske mit nur einem relevanten Bit (TRY_CONSTRUCT) fuer TypeIdentifier.
EquivalenceHash
14-byte SHA256-Hash ueber ein serialisiertes TypeObject.
PlainCollectionHeader
Header fuer plain collections (§7.3.4.7.1).
StronglyConnectedComponentId
Identifiziert eine starkconnected-Component-ID fuer rekursive Typen.

Enums§

EquivalenceKind
Equivalence-Kind des Elements einer PlainCollection (§7.3.4.7.1).
PrimitiveKind
Primitive Kind (kein Body im TypeIdentifier, nur der Discriminator).
TypeIdentifier
TypeIdentifier — XTypes §7.3.4.2.