108 union TypeObjectHashId switch (octet) {
121 @position(0) TRY_CONSTRUCT1,
122 @position(1) TRY_CONSTRUCT2,
123 @position(2) IS_EXTERNAL,
125 @position(3) IS_OPTIONAL,
126 @position(4) IS_MUST_UNDERSTAND,
128 @position(6) IS_DEFAULT
131 typedef MemberFlag CollectionElementFlag;
149 @position(0) IS_FINAL,
150 @position(1) IS_APPENDABLE,
151 @position(2) IS_MUTABLE,
152 @position(3) IS_NESTED,
153 @position(4) IS_AUTOID_HASH
156 typedef TypeFlag StructTypeFlag;
169 union TypeIdentifier;
173 struct StringSTypeDefn {
179 struct StringLTypeDefn {
184 struct PlainCollectionHeader {
185 EquivalenceKind equiv_kind;
186 CollectionElementFlag element_flags;
190 struct PlainSequenceSElemDefn {
191 PlainCollectionHeader header;
193 @external TypeIdentifier element_identifier;
197 struct PlainSequenceLElemDefn {
198 PlainCollectionHeader header;
200 @external TypeIdentifier element_identifier;
204 struct PlainArraySElemDefn {
205 PlainCollectionHeader header;
207 @external TypeIdentifier element_identifier;
211 struct PlainArrayLElemDefn {
212 PlainCollectionHeader header;
214 @external TypeIdentifier element_identifier;
218 struct PlainMapSTypeDefn {
219 PlainCollectionHeader header;
221 @external TypeIdentifier element_identifier;
223 @external TypeIdentifier key_identifier;
227 struct PlainMapLTypeDefn {
228 PlainCollectionHeader header;
230 @external TypeIdentifier element_identifier;
232 @external TypeIdentifier key_identifier;
237 struct StronglyConnectedComponentId {
238 TypeObjectHashId sc_component_id;
245 struct ExtendedTypeDefn {
272 union TypeIdentifier switch (octet) {
294 case TI_STRING8_SMALL:
295 case TI_STRING16_SMALL:
296 StringSTypeDefn string_sdefn;
298 case TI_STRING8_LARGE:
299 case TI_STRING16_LARGE:
300 StringLTypeDefn string_ldefn;
303 case TI_PLAIN_SEQUENCE_SMALL:
304 PlainSequenceSElemDefn seq_sdefn;
305 case TI_PLAIN_SEQUENCE_LARGE:
306 PlainSequenceLElemDefn seq_ldefn;
308 case TI_PLAIN_ARRAY_SMALL:
309 PlainArraySElemDefn array_sdefn;
310 case TI_PLAIN_ARRAY_LARGE:
311 PlainArrayLElemDefn array_ldefn;
313 case TI_PLAIN_MAP_SMALL:
314 PlainMapSTypeDefn map_sdefn;
315 case TI_PLAIN_MAP_LARGE:
316 PlainMapLTypeDefn map_ldefn;
319 case TI_STRONGLY_CONNECTED_COMPONENT:
320 StronglyConnectedComponentId sc_component_id;
325 EquivalenceHash equivalence_hash;
329 default: ExtendedTypeDefn extended_defn;
331 typedef sequence<TypeIdentifier> TypeIdentifierSeq;
342 struct ExtendedAnnotationParameterValue {
351 union AnnotationParameterValue switch (octet) {
353 boolean boolean_value;
359 unsigned short uint_16_value;
363 unsigned long uint32_value;
365 long long int64_value;
367 unsigned long long uint64_value;
371 double float64_value;
373 long double float128_value;
379 long enumerated_value;
381 string<ANNOTATION_STR_VALUE_MAX_LEN> string8_value;
383 wstring<ANNOTATION_STR_VALUE_MAX_LEN> string16_value;
385 ExtendedAnnotationParameterValue extended_value;
390 struct AppliedAnnotationParameter {
391 NameHash paramname_hash;
392 AnnotationParameterValue value;
397 sequence<AppliedAnnotationParameter> AppliedAnnotationParameterSeq;
400 struct AppliedAnnotation {
401 TypeIdentifier annotation_typeid;
402 @optional AppliedAnnotationParameterSeq param_seq;
406 typedef sequence<AppliedAnnotation> AppliedAnnotationSeq;
410 struct AppliedVerbatimAnnotation {
411 string<32> placement;
418 struct AppliedBuiltinMemberAnnotations {
419 @optional string unit;
420 @optional AnnotationParameterValue min;
421 @optional AnnotationParameterValue max;
422 @optional string hash_id;
426 struct CommonStructMember {
429 TypeIdentifier member_type_id;
434 struct CompleteMemberDetail {
436 @optional AppliedBuiltinMemberAnnotations ann_builtin;
447 struct CompleteStructMember {
448 CommonStructMember common;
449 CompleteMemberDetail detail;
453 typedef sequence<CompleteStructMember> CompleteStructMemberSeq;
457 struct MinimalStructMember {
458 CommonStructMember common;
459 MinimalMemberDetail detail;
463 typedef sequence<MinimalStructMember> MinimalStructMemberSeq;
466 struct AppliedBuiltinTypeAnnotations {
467 @optional AppliedVerbatimAnnotation
verbatim;
471 struct MinimalTypeDetail {
476 struct CompleteTypeDetail {
477 @optional AppliedBuiltinTypeAnnotations ann_builtin;
483 struct CompleteStructHeader {
484 TypeIdentifier base_type;
485 CompleteTypeDetail detail;
489 struct MinimalStructHeader {
490 TypeIdentifier base_type;
491 MinimalTypeDetail detail;
495 struct CompleteStructType {
497 CompleteStructHeader header;
502 struct MinimalStructType {
504 MinimalStructHeader header;
512 typedef sequence<long> UnionCaseLabelSeq;
515 struct CommonUnionMember {
517 UnionMemberFlag member_flags;
518 TypeIdentifier type_id;
519 UnionCaseLabelSeq label_seq;
524 struct CompleteUnionMember {
525 CommonUnionMember common;
526 CompleteMemberDetail detail;
530 typedef sequence<CompleteUnionMember> CompleteUnionMemberSeq;
534 struct MinimalUnionMember {
535 CommonUnionMember common;
536 MinimalMemberDetail detail;
540 typedef sequence<MinimalUnionMember> MinimalUnionMemberSeq;
543 struct CommonDiscriminatorMember {
544 UnionDiscriminatorFlag member_flags;
545 TypeIdentifier type_id;
550 struct CompleteDiscriminatorMember {
551 CommonDiscriminatorMember common;
552 @optional AppliedBuiltinTypeAnnotations ann_builtin;
553 @optional AppliedAnnotationSeq ann_custom;
558 struct MinimalDiscriminatorMember {
559 CommonDiscriminatorMember common;
563 struct CompleteUnionHeader {
564 CompleteTypeDetail detail;
568 struct MinimalUnionHeader {
569 MinimalTypeDetail detail;
573 struct CompleteUnionType {
575 CompleteUnionHeader header;
576 CompleteDiscriminatorMember discriminator;
581 struct MinimalUnionType {
583 MinimalUnionHeader header;
584 MinimalDiscriminatorMember discriminator;
590 struct CommonAnnotationParameter {
592 TypeIdentifier member_type_id;
597 struct CompleteAnnotationParameter {
598 CommonAnnotationParameter common;
600 AnnotationParameterValue default_value;
604 typedef sequence<CompleteAnnotationParameter> CompleteAnnotationParameterSeq;
607 struct MinimalAnnotationParameter {
608 CommonAnnotationParameter common;
610 AnnotationParameterValue default_value;
614 typedef sequence<MinimalAnnotationParameter> MinimalAnnotationParameterSeq;
617 struct CompleteAnnotationHeader {
618 QualifiedTypeName annotation_name;
622 struct MinimalAnnotationHeader {
627 struct CompleteAnnotationType {
629 CompleteAnnotationHeader header;
634 struct MinimalAnnotationType {
636 MinimalAnnotationHeader header;
642 struct CommonAliasBody {
644 TypeIdentifier related_type;
648 struct CompleteAliasBody {
649 CommonAliasBody common;
650 @optional AppliedBuiltinMemberAnnotations ann_builtin;
655 struct MinimalAliasBody {
656 CommonAliasBody common;
660 struct CompleteAliasHeader {
661 CompleteTypeDetail detail;
665 struct MinimalAliasHeader {
670 struct CompleteAliasType {
672 CompleteAliasHeader header;
673 CompleteAliasBody body;
677 struct MinimalAliasType {
679 MinimalAliasHeader header;
680 MinimalAliasBody body;
685 struct CompleteElementDetail {
686 @optional AppliedBuiltinMemberAnnotations ann_builtin;
691 struct CommonCollectionElement {
697 struct CompleteCollectionElement {
698 CommonCollectionElement common;
699 CompleteElementDetail detail;
703 struct MinimalCollectionElement {
704 CommonCollectionElement common;
708 struct CommonCollectionHeader {
713 struct CompleteCollectionHeader {
714 CommonCollectionHeader common;
715 @optional CompleteTypeDetail detail;
719 struct MinimalCollectionHeader {
720 CommonCollectionHeader common;
725 struct CompleteSequenceType {
727 CompleteCollectionHeader header;
728 CompleteCollectionElement element;
733 struct MinimalSequenceType {
735 MinimalCollectionHeader header;
736 MinimalCollectionElement element;
741 struct CommonArrayHeader {
746 struct CompleteArrayHeader {
747 CommonArrayHeader common;
748 CompleteTypeDetail detail;
752 struct MinimalArrayHeader {
753 CommonArrayHeader common;
757 struct CompleteArrayType {
759 CompleteArrayHeader header;
760 CompleteCollectionElement element;
764 struct MinimalArrayType {
766 MinimalArrayHeader header;
767 MinimalCollectionElement element;
772 struct CompleteMapType {
774 CompleteCollectionHeader header;
775 CompleteCollectionElement key;
776 CompleteCollectionElement element;
780 struct MinimalMapType {
782 MinimalCollectionHeader header;
783 MinimalCollectionElement key;
784 MinimalCollectionElement element;
788 typedef unsigned short BitBound;
792 struct CommonEnumeratedLiteral {
794 EnumeratedLiteralFlag flags;
799 struct CompleteEnumeratedLiteral {
800 CommonEnumeratedLiteral common;
801 CompleteMemberDetail detail;
805 typedef sequence<CompleteEnumeratedLiteral> CompleteEnumeratedLiteralSeq;
809 struct MinimalEnumeratedLiteral {
810 CommonEnumeratedLiteral common;
811 MinimalMemberDetail detail;
815 typedef sequence<MinimalEnumeratedLiteral> MinimalEnumeratedLiteralSeq;
818 struct CommonEnumeratedHeader {
823 struct CompleteEnumeratedHeader {
824 CommonEnumeratedHeader common;
825 CompleteTypeDetail detail;
829 struct MinimalEnumeratedHeader {
830 CommonEnumeratedHeader common;
835 struct CompleteEnumeratedType {
837 CompleteEnumeratedHeader header;
843 struct MinimalEnumeratedType {
845 MinimalEnumeratedHeader header;
852 struct CommonBitflag {
853 unsigned short position;
858 struct CompleteBitflag {
859 CommonBitflag common;
860 CompleteMemberDetail detail;
864 typedef sequence<CompleteBitflag> CompleteBitflagSeq;
867 struct MinimalBitflag {
868 CommonBitflag common;
869 MinimalMemberDetail detail;
873 typedef sequence<MinimalBitflag> MinimalBitflagSeq;
876 struct CommonBitmaskHeader {
880 typedef CompleteEnumeratedHeader CompleteBitmaskHeader;
885 struct CompleteBitmaskType {
892 struct MinimalBitmaskType {
893 BitmaskTypeFlag bitmask_flags;
894 MinimalBitmaskHeader header;
895 MinimalBitflagSeq flag_seq;
900 struct CommonBitfield {
901 unsigned short position;
902 BitsetMemberFlag flags;
904 TypeKind holder_type;
908 struct CompleteBitfield {
909 CommonBitfield common;
910 CompleteMemberDetail detail;
914 typedef sequence<CompleteBitfield> CompleteBitfieldSeq;
917 struct MinimalBitfield {
918 CommonBitfield common;
923 typedef sequence<MinimalBitfield> MinimalBitfieldSeq;
926 struct CompleteBitsetHeader {
927 CompleteTypeDetail detail;
931 struct MinimalBitsetHeader {
936 struct CompleteBitsetType {
938 CompleteBitsetHeader header;
943 struct MinimalBitsetType {
945 MinimalBitsetHeader header;
954 struct CompleteExtendedType {
959 union CompleteTypeObject switch (octet) {
961 CompleteAliasType alias_type;
963 CompleteAnnotationType annotation_type;
965 CompleteStructType struct_type;
967 CompleteUnionType union_type;
969 CompleteBitsetType bitset_type;
971 CompleteSequenceType sequence_type;
973 CompleteArrayType array_type;
975 CompleteMapType map_type;
977 CompleteEnumeratedType enumerated_type;
979 CompleteBitmaskType bitmask_type;
983 CompleteExtendedType extended_type;
987 struct MinimalExtendedType {
993 union MinimalTypeObject switch (octet) {
995 MinimalAliasType alias_type;
997 MinimalAnnotationType annotation_type;
999 MinimalStructType struct_type;
1001 MinimalUnionType union_type;
1003 MinimalBitsetType bitset_type;
1005 MinimalSequenceType sequence_type;
1007 MinimalArrayType array_type;
1009 MinimalMapType map_type;
1011 MinimalEnumeratedType enumerated_type;
1013 MinimalBitmaskType bitmask_type;
1017 MinimalExtendedType extended_type;
1021 union TypeObject switch (octet) {
1023 CompleteTypeObject complete;
1025 MinimalTypeObject minimal;
1027 typedef sequence<TypeObject> TypeObjectSeq;
1036 struct TypeIdentifierTypeObjectPair {
1037 TypeIdentifier type_identifier;
1038 TypeObject type_object;
1041 sequence<TypeIdentifierTypeObjectPair> TypeIdentifierTypeObjectPairSeq;
1044 struct TypeIdentifierPair {
1045 TypeIdentifier type_identifier1;
1046 TypeIdentifier type_identifier2;
1048 typedef sequence<TypeIdentifierPair> TypeIdentifierPairSeq;
1051 struct TypeIdentifierWithSize {
1052 DDS::Xtypes::TypeIdentifier type_id;
1053 unsigned long typeobject_serialized_size;
1055 typedef sequence<TypeIdentifierWithSize> TypeIdentfierWithSizeSeq;
1058 struct TypeIdentifierWithDependencies {
1059 TypeIdentifierWithSize typeid_with_size;
1061 long dependent_typeid_count;
1062 sequence<TypeIdentifierWithSize> dependent_typeids;
1064 typedef sequence<TypeIdentifierWithDependencies> TypeIdentifierWithDependenciesSeq;
1070 struct TypeInformation {
1071 @id(0x1001) TypeIdentifierWithDependencies minimal;
1072 @id(0x1002) TypeIdentifierWithDependencies complete;
1074 typedef sequence<TypeInformation> TypeInformationSeq;
MemberFlag EnumeratedLiteralFlag
Definition: dds-xtypes_typeobject.idl:135
unsigned long MemberId
Definition: dds-xtypes_typeobject.idl:337
octet SBound
Definition: dds-xtypes_typeobject.idl:103
unsigned long LBound
Definition: dds-xtypes_typeobject.idl:98
const octet TK_ARRAY
Definition: dds-xtypes_typeobject.idl:51
sequence< TypeObject > TypeObjectSeq
Definition: dds-xtypes_typeobject.idl:1026
const SBound INVALID_SBOUND
Definition: dds-xtypes_typeobject.idl:105
TypeFlag BitsetTypeFlag
Definition: dds-xtypes_typeobject.idl:163
const octet TK_INT64
Definition: dds-xtypes_typeobject.idl:21
const octet TI_PLAIN_MAP_LARGE
Definition: dds-xtypes_typeobject.idl:68
MemberFlag AnnotationParameterFlag
Definition: dds-xtypes_typeobject.idl:136
const octet TI_PLAIN_ARRAY_SMALL
Definition: dds-xtypes_typeobject.idl:65
MemberFlag UnionDiscriminatorFlag
Definition: dds-xtypes_typeobject.idl:134
const octet TK_FLOAT128
Definition: dds-xtypes_typeobject.idl:27
octet EquivalenceKind
Definition: dds-xtypes_typeobject.idl:8
MemberFlag UnionMemberFlag
Definition: dds-xtypes_typeobject.idl:133
sequence< SBound > SBoundSeq
Definition: dds-xtypes_typeobject.idl:104
const octet TK_BOOLEAN
Definition: dds-xtypes_typeobject.idl:17
octet TypeKind
Definition: dds-xtypes_typeobject.idl:14
const octet TI_PLAIN_SEQUENCE_LARGE
Definition: dds-xtypes_typeobject.idl:64
Definition: BuiltinAnnotationsTypeObject.h:155
MemberFlag CollectionElementFlag
Definition: dds-xtypes_typeobject.idl:129
sequence< CompleteEnumeratedLiteral > CompleteEnumeratedLiteralSeq
Definition: dds-xtypes_typeobject.idl:802
const octet TK_SEQUENCE
Definition: dds-xtypes_typeobject.idl:50
const octet TK_ANNOTATION
Definition: dds-xtypes_typeobject.idl:44
const octet TK_FLOAT64
Definition: dds-xtypes_typeobject.idl:26
TypeFlag AliasTypeFlag
Definition: dds-xtypes_typeobject.idl:160
const octet TI_PLAIN_ARRAY_LARGE
Definition: dds-xtypes_typeobject.idl:66
const octet TI_STRING16_SMALL
Definition: dds-xtypes_typeobject.idl:60
const octet TK_BYTE
Definition: dds-xtypes_typeobject.idl:18
bit_bound(16) enum TypeConsistencyKind
Definition: dds-xtypes_discovery.idl:183
const octet TK_UINT16
Definition: dds-xtypes_typeobject.idl:22
const octet EK_MINIMAL
Definition: dds-xtypes_typeobject.idl:9
sequence< CompleteAnnotationParameter > CompleteAnnotationParameterSeq
Definition: dds-xtypes_typeobject.idl:601
const long TYPE_NAME_MAX_LENGTH
Definition: dds-xtypes_typeobject.idl:81
sequence< MinimalEnumeratedLiteral > MinimalEnumeratedLiteralSeq
Definition: dds-xtypes_typeobject.idl:812
const octet TI_STRONGLY_CONNECTED_COMPONENT
Definition: dds-xtypes_typeobject.idl:70
const octet TK_MAP
Definition: dds-xtypes_typeobject.idl:52
const octet TK_ENUM
Definition: dds-xtypes_typeobject.idl:40
const octet TK_NONE
Definition: dds-xtypes_typeobject.idl:16
const octet TI_STRING8_LARGE
Definition: dds-xtypes_typeobject.idl:59
const unsigned long ANNOTATION_STR_VALUE_MAX_LEN
Definition: dds-xtypes_typeobject.idl:338
const octet TK_FLOAT32
Definition: dds-xtypes_typeobject.idl:25
const octet TK_ALIAS
Definition: dds-xtypes_typeobject.idl:37
const octet TI_PLAIN_MAP_SMALL
Definition: dds-xtypes_typeobject.idl:67
const octet TK_BITMASK
Definition: dds-xtypes_typeobject.idl:41
const octet TI_STRING16_LARGE
Definition: dds-xtypes_typeobject.idl:61
octet PrimitiveTypeId
Definition: dds-xtypes_typeobject.idl:85
sequence< CompleteBitflag > CompleteBitflagSeq
Definition: dds-xtypes_typeobject.idl:861
const octet TK_BITSET
Definition: dds-xtypes_typeobject.idl:47
const LBound INVALID_LBOUND
Definition: dds-xtypes_typeobject.idl:100
TypeFlag StructTypeFlag
Definition: dds-xtypes_typeobject.idl:154
sequence< MinimalStructMember > MinimalStructMemberSeq
Definition: dds-xtypes_typeobject.idl:460
TypeFlag AnnotationTypeFlag
Definition: dds-xtypes_typeobject.idl:159
TypeFlag UnionTypeFlag
Definition: dds-xtypes_typeobject.idl:157
std::vector< AppliedAnnotation > AppliedAnnotationSeq
Definition: AnnotationParameterValue.h:1124
MinimalEnumeratedHeader MinimalBitmaskHeader
Definition: dds-xtypes_typeobject.idl:882
const octet TK_INT32
Definition: dds-xtypes_typeobject.idl:20
octet NameHash[4]
Definition: dds-xtypes_typeobject.idl:95
octet TypeIdentiferKind
Definition: dds-xtypes_typeobject.idl:57
MemberFlag BitsetMemberFlag
Definition: dds-xtypes_typeobject.idl:139
const octet TK_UINT64
Definition: dds-xtypes_typeobject.idl:24
Definition: dds-builtin_types.idl:1
const octet EK_BOTH
Definition: dds-xtypes_typeobject.idl:11
MemberFlag StructMemberFlag
Definition: dds-xtypes_typeobject.idl:132
const octet TK_INT16
Definition: dds-xtypes_typeobject.idl:19
const octet TK_STRING8
Definition: dds-xtypes_typeobject.idl:32
TypeFlag BitmaskTypeFlag
Definition: dds-xtypes_typeobject.idl:162
const unsigned short TypeFlagMinimalMask
Definition: dds-xtypes_typeobject.idl:166
const octet TI_PLAIN_SEQUENCE_SMALL
Definition: dds-xtypes_typeobject.idl:63
sequence< MinimalUnionMember > MinimalUnionMemberSeq
Definition: dds-xtypes_typeobject.idl:537
sequence< LBound > LBoundSeq
Definition: dds-xtypes_typeobject.idl:99
Definition: BuiltinAnnotationsTypeObject.h:72
const unsigned short MemberFlagMinimalMask
Definition: dds-xtypes_typeobject.idl:143
sequence< CompleteUnionMember > CompleteUnionMemberSeq
Definition: dds-xtypes_typeobject.idl:527
const octet EK_COMPLETE
Definition: dds-xtypes_typeobject.idl:10
TypeFlag CollectionTypeFlag
Definition: dds-xtypes_typeobject.idl:158
sequence< MinimalBitfield > MinimalBitfieldSeq
Definition: dds-xtypes_typeobject.idl:920
TypeFlag EnumTypeFlag
Definition: dds-xtypes_typeobject.idl:161
const octet TK_UNION
Definition: dds-xtypes_typeobject.idl:46
sequence< CompleteBitfield > CompleteBitfieldSeq
Definition: dds-xtypes_typeobject.idl:911
TypeObjectSeq StronglyConnectedComponent
Definition: dds-xtypes_typeobject.idl:1033
sequence< MinimalAnnotationParameter > MinimalAnnotationParameterSeq
Definition: dds-xtypes_typeobject.idl:611
string< MEMBER_NAME_MAX_LENGTH > MemberName
Definition: dds-xtypes_typeobject.idl:77
const octet TI_STRING8_SMALL
Definition: dds-xtypes_typeobject.idl:58
const octet TK_STRUCTURE
Definition: dds-xtypes_typeobject.idl:45
sequence< CompleteStructMember > CompleteStructMemberSeq
Definition: dds-xtypes_typeobject.idl:450
octet EquivalenceHash[14]
Definition: dds-xtypes_typeobject.idl:89
const octet TK_UINT32
Definition: dds-xtypes_typeobject.idl:23
const unsigned long ANNOTATION_OCTETSEC_VALUE_MAX_LEN
Definition: dds-xtypes_typeobject.idl:339
const long MEMBER_NAME_MAX_LENGTH
Definition: dds-xtypes_typeobject.idl:77
string< TYPE_NAME_MAX_LENGTH > QualifiedTypeName
Definition: dds-xtypes_typeobject.idl:82
MemberFlag BitflagFlag
Definition: dds-xtypes_typeobject.idl:138
MemberFlag AliasMemberFlag
Definition: dds-xtypes_typeobject.idl:137
const octet TK_CHAR8
Definition: dds-xtypes_typeobject.idl:28
const octet TK_CHAR16
Definition: dds-xtypes_typeobject.idl:29
CompleteEnumeratedHeader CompleteBitmaskHeader
Definition: dds-xtypes_typeobject.idl:878
const octet TK_STRING16
Definition: dds-xtypes_typeobject.idl:33