Skip to main content

xidl_typeobject/
dds_xtypes_typeobject.rs

1//! Generated by xidlc.
2#![allow(dead_code)]
3#![allow(unused_imports)]
4#![allow(non_upper_case_globals)]
5#![allow(non_snake_case)]
6#![allow(unused_variables)]
7#![allow(unreachable_patterns)]
8
9use std::collections::BTreeMap;
10use std::ffi::c_void;
11
12pub mod DDS {
13    pub mod XTypes {
14        pub type EquivalenceKind = u8;
15        pub const EK_MINIMAL: u8 = 0xF1;
16        pub const EK_COMPLETE: u8 = 0xF2;
17        pub const EK_BOTH: u8 = 0xF3;
18        pub type TypeKind = u8;
19        pub const TK_NONE: u8 = 0x00;
20        pub const TK_BOOLEAN: u8 = 0x01;
21        pub const TK_BYTE: u8 = 0x02;
22        pub const TK_INT16: u8 = 0x03;
23        pub const TK_INT32: u8 = 0x04;
24        pub const TK_INT64: u8 = 0x05;
25        pub const TK_UINT16: u8 = 0x06;
26        pub const TK_UINT32: u8 = 0x07;
27        pub const TK_UINT64: u8 = 0x08;
28        pub const TK_FLOAT32: u8 = 0x09;
29        pub const TK_FLOAT64: u8 = 0x0A;
30        pub const TK_FLOAT128: u8 = 0x0B;
31        pub const TK_CHAR8: u8 = 0x10;
32        pub const TK_CHAR16: u8 = 0x11;
33        pub const TK_STRING8: u8 = 0x20;
34        pub const TK_STRING16: u8 = 0x21;
35        pub const TK_ALIAS: u8 = 0x30;
36        pub const TK_ENUM: u8 = 0x40;
37        pub const TK_BITMASK: u8 = 0x41;
38        pub const TK_ANNOTATION: u8 = 0x50;
39        pub const TK_STRUCTURE: u8 = 0x51;
40        pub const TK_UNION: u8 = 0x52;
41        pub const TK_BITSET: u8 = 0x53;
42        pub const TK_SEQUENCE: u8 = 0x60;
43        pub const TK_ARRAY: u8 = 0x61;
44        pub const TK_MAP: u8 = 0x62;
45        pub type TypeIdentiferKind = u8;
46        pub const TI_STRING8_SMALL: u8 = 0x70;
47        pub const TI_STRING8_LARGE: u8 = 0x71;
48        pub const TI_STRING16_SMALL: u8 = 0x72;
49        pub const TI_STRING16_LARGE: u8 = 0x73;
50        pub const TI_PLAIN_SEQUENCE_SMALL: u8 = 0x80;
51        pub const TI_PLAIN_SEQUENCE_LARGE: u8 = 0x81;
52        pub const TI_PLAIN_ARRAY_SMALL: u8 = 0x90;
53        pub const TI_PLAIN_ARRAY_LARGE: u8 = 0x91;
54        pub const TI_PLAIN_MAP_SMALL: u8 = 0xA0;
55        pub const TI_PLAIN_MAP_LARGE: u8 = 0xA1;
56        pub const TI_STRONGLY_CONNECTED_COMPONENT: u8 = 0xB0;
57        pub const MEMBER_NAME_MAX_LENGTH: i32 = 256;
58        pub type MemberName = String;
59        pub const TYPE_NAME_MAX_LENGTH: i32 = 256;
60        pub type QualifiedTypeName = String;
61        pub type PrimitiveTypeId = u8;
62        pub type EquivalenceHash = [u8; 14];
63        pub type NameHash = [u8; 4];
64        pub type LBound = u32;
65        pub type LBoundSeq = Vec<LBound>;
66        pub const INVALID_LBOUND: LBound = 0;
67        pub type SBound = u8;
68        pub type SBoundSeq = Vec<SBound>;
69        pub const INVALID_SBOUND: SBound = 0;
70        pub struct TypeObjectHashId {
71            pub _d: u8,
72
73            pub hash: Option<Box<EquivalenceHash>>,
74        }
75
76        impl TypeObjectHashId {
77            pub fn new_hash(value: Box<EquivalenceHash>) -> Self {
78                Self {
79                    _d: EK_COMPLETE | EK_MINIMAL,
80                    hash: Some(value),
81                }
82            }
83
84            pub fn is_hash(&self) -> bool {
85                matches!(self._d, EK_COMPLETE | EK_MINIMAL)
86            }
87
88            pub fn tag(&self) -> &u8 {
89                &self._d
90            }
91        }
92
93        impl xidl_typeobject::XidlTypeObject for TypeObjectHashId {
94            fn minimal_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
95                xidl_typeobject::runtime::build_minimal_union(
96                    0u32,
97                    xidl_typeobject::runtime::type_identifier_primitive(
98                        xidl_typeobject::DDS::XTypes::TK_BYTE,
99                    ),
100                    vec![xidl_typeobject::runtime::UnionMemberDesc {
101                        member_id: 1u32,
102                        member_flags: 0u32,
103                        type_id: xidl_typeobject::runtime::type_identifier_for::<EquivalenceHash>(
104                            xidl_typeobject::runtime::TypeEquivalence::Minimal,
105                        ),
106                        name: "hash",
107                        labels: vec![0i32, 0i32],
108                    }],
109                )
110            }
111
112            fn complete_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
113                xidl_typeobject::runtime::build_complete_union(
114                    "DDS::XTypes::TypeObjectHashId",
115                    0u32,
116                    xidl_typeobject::runtime::type_identifier_primitive(
117                        xidl_typeobject::DDS::XTypes::TK_BYTE,
118                    ),
119                    vec![xidl_typeobject::runtime::UnionMemberDesc {
120                        member_id: 1u32,
121                        member_flags: 0u32,
122                        type_id: xidl_typeobject::runtime::type_identifier_for::<EquivalenceHash>(
123                            xidl_typeobject::runtime::TypeEquivalence::Complete,
124                        ),
125                        name: "hash",
126                        labels: vec![0i32, 0i32],
127                    }],
128                )
129            }
130        }
131        pub struct MemberFlag {
132            pub value: u32,
133        }
134
135        impl MemberFlag {
136            pub const TRY_CONSTRUCT1: u32 = 1u32 << 0;
137
138            pub const TRY_CONSTRUCT2: u32 = 1u32 << 1;
139
140            pub const IS_EXTERNAL: u32 = 1u32 << 2;
141
142            pub const IS_OPTIONAL: u32 = 1u32 << 3;
143
144            pub const IS_MUST_UNDERSTAND: u32 = 1u32 << 4;
145
146            pub const IS_KEY: u32 = 1u32 << 5;
147
148            pub const IS_DEFAULT: u32 = 1u32 << 6;
149        }
150
151        impl xidl_typeobject::XidlTypeObject for MemberFlag {
152            fn minimal_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
153                xidl_typeobject::runtime::build_minimal_bitmask(
154                    0u32,
155                    32u16,
156                    vec![
157                        xidl_typeobject::runtime::BitflagDesc {
158                            position: 0u16,
159                            flags: 0u32,
160                            name: "TRY_CONSTRUCT1",
161                        },
162                        xidl_typeobject::runtime::BitflagDesc {
163                            position: 1u16,
164                            flags: 0u32,
165                            name: "TRY_CONSTRUCT2",
166                        },
167                        xidl_typeobject::runtime::BitflagDesc {
168                            position: 2u16,
169                            flags: 0u32,
170                            name: "IS_EXTERNAL",
171                        },
172                        xidl_typeobject::runtime::BitflagDesc {
173                            position: 3u16,
174                            flags: 0u32,
175                            name: "IS_OPTIONAL",
176                        },
177                        xidl_typeobject::runtime::BitflagDesc {
178                            position: 4u16,
179                            flags: 0u32,
180                            name: "IS_MUST_UNDERSTAND",
181                        },
182                        xidl_typeobject::runtime::BitflagDesc {
183                            position: 5u16,
184                            flags: 0u32,
185                            name: "IS_KEY",
186                        },
187                        xidl_typeobject::runtime::BitflagDesc {
188                            position: 6u16,
189                            flags: 0u32,
190                            name: "IS_DEFAULT",
191                        },
192                    ],
193                )
194            }
195
196            fn complete_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
197                xidl_typeobject::runtime::build_complete_bitmask(
198                    "DDS::XTypes::MemberFlag",
199                    0u32,
200                    32u16,
201                    vec![
202                        xidl_typeobject::runtime::BitflagDesc {
203                            position: 0u16,
204                            flags: 0u32,
205                            name: "TRY_CONSTRUCT1",
206                        },
207                        xidl_typeobject::runtime::BitflagDesc {
208                            position: 1u16,
209                            flags: 0u32,
210                            name: "TRY_CONSTRUCT2",
211                        },
212                        xidl_typeobject::runtime::BitflagDesc {
213                            position: 2u16,
214                            flags: 0u32,
215                            name: "IS_EXTERNAL",
216                        },
217                        xidl_typeobject::runtime::BitflagDesc {
218                            position: 3u16,
219                            flags: 0u32,
220                            name: "IS_OPTIONAL",
221                        },
222                        xidl_typeobject::runtime::BitflagDesc {
223                            position: 4u16,
224                            flags: 0u32,
225                            name: "IS_MUST_UNDERSTAND",
226                        },
227                        xidl_typeobject::runtime::BitflagDesc {
228                            position: 5u16,
229                            flags: 0u32,
230                            name: "IS_KEY",
231                        },
232                        xidl_typeobject::runtime::BitflagDesc {
233                            position: 6u16,
234                            flags: 0u32,
235                            name: "IS_DEFAULT",
236                        },
237                    ],
238                )
239            }
240        }
241        pub type CollectionElementFlag = MemberFlag;
242        pub type StructMemberFlag = MemberFlag;
243        pub type UnionMemberFlag = MemberFlag;
244        pub type UnionDiscriminatorFlag = MemberFlag;
245        pub type EnumeratedLiteralFlag = MemberFlag;
246        pub type AnnotationParameterFlag = MemberFlag;
247        pub type AliasMemberFlag = MemberFlag;
248        pub type BitflagFlag = MemberFlag;
249        pub type BitsetMemberFlag = MemberFlag;
250        pub const MemberFlagMinimalMask: u16 = 0x003f;
251        pub struct TypeFlag {
252            pub value: u32,
253        }
254
255        impl TypeFlag {
256            pub const IS_FINAL: u32 = 1u32 << 0;
257
258            pub const IS_APPENDABLE: u32 = 1u32 << 1;
259
260            pub const IS_MUTABLE: u32 = 1u32 << 2;
261
262            pub const IS_NESTED: u32 = 1u32 << 3;
263
264            pub const IS_AUTOID_HASH: u32 = 1u32 << 4;
265        }
266
267        impl xidl_typeobject::XidlTypeObject for TypeFlag {
268            fn minimal_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
269                xidl_typeobject::runtime::build_minimal_bitmask(
270                    0u32,
271                    32u16,
272                    vec![
273                        xidl_typeobject::runtime::BitflagDesc {
274                            position: 0u16,
275                            flags: 0u32,
276                            name: "IS_FINAL",
277                        },
278                        xidl_typeobject::runtime::BitflagDesc {
279                            position: 1u16,
280                            flags: 0u32,
281                            name: "IS_APPENDABLE",
282                        },
283                        xidl_typeobject::runtime::BitflagDesc {
284                            position: 2u16,
285                            flags: 0u32,
286                            name: "IS_MUTABLE",
287                        },
288                        xidl_typeobject::runtime::BitflagDesc {
289                            position: 3u16,
290                            flags: 0u32,
291                            name: "IS_NESTED",
292                        },
293                        xidl_typeobject::runtime::BitflagDesc {
294                            position: 4u16,
295                            flags: 0u32,
296                            name: "IS_AUTOID_HASH",
297                        },
298                    ],
299                )
300            }
301
302            fn complete_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
303                xidl_typeobject::runtime::build_complete_bitmask(
304                    "DDS::XTypes::TypeFlag",
305                    0u32,
306                    32u16,
307                    vec![
308                        xidl_typeobject::runtime::BitflagDesc {
309                            position: 0u16,
310                            flags: 0u32,
311                            name: "IS_FINAL",
312                        },
313                        xidl_typeobject::runtime::BitflagDesc {
314                            position: 1u16,
315                            flags: 0u32,
316                            name: "IS_APPENDABLE",
317                        },
318                        xidl_typeobject::runtime::BitflagDesc {
319                            position: 2u16,
320                            flags: 0u32,
321                            name: "IS_MUTABLE",
322                        },
323                        xidl_typeobject::runtime::BitflagDesc {
324                            position: 3u16,
325                            flags: 0u32,
326                            name: "IS_NESTED",
327                        },
328                        xidl_typeobject::runtime::BitflagDesc {
329                            position: 4u16,
330                            flags: 0u32,
331                            name: "IS_AUTOID_HASH",
332                        },
333                    ],
334                )
335            }
336        }
337        pub type StructTypeFlag = TypeFlag;
338        pub type UnionTypeFlag = TypeFlag;
339        pub type CollectionTypeFlag = TypeFlag;
340        pub type AnnotationTypeFlag = TypeFlag;
341        pub type AliasTypeFlag = TypeFlag;
342        pub type EnumTypeFlag = TypeFlag;
343        pub type BitmaskTypeFlag = TypeFlag;
344        pub type BitsetTypeFlag = TypeFlag;
345        pub const TypeFlagMinimalMask: u16 = 0x0007;
346        pub struct StringSTypeDefn {
347            pub bound: Box<SBound>,
348        }
349
350        impl StringSTypeDefn {}
351
352        impl xidl_typeobject::XidlTypeObject for StringSTypeDefn {
353            fn minimal_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
354                xidl_typeobject::runtime::build_minimal_struct(
355                    0u32,
356                    xidl_typeobject::runtime::type_identifier_none(),
357                    vec![xidl_typeobject::runtime::StructMemberDesc {
358                        member_id: 1u32,
359                        member_flags: 0u32,
360                        type_id: xidl_typeobject::runtime::type_identifier_for::<SBound>(
361                            xidl_typeobject::runtime::TypeEquivalence::Minimal,
362                        ),
363                        name: "bound",
364                    }],
365                )
366            }
367
368            fn complete_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
369                xidl_typeobject::runtime::build_complete_struct(
370                    "DDS::XTypes::StringSTypeDefn",
371                    0u32,
372                    xidl_typeobject::runtime::type_identifier_none(),
373                    vec![xidl_typeobject::runtime::StructMemberDesc {
374                        member_id: 1u32,
375                        member_flags: 0u32,
376                        type_id: xidl_typeobject::runtime::type_identifier_for::<SBound>(
377                            xidl_typeobject::runtime::TypeEquivalence::Complete,
378                        ),
379                        name: "bound",
380                    }],
381                )
382            }
383        }
384        pub struct StringLTypeDefn {
385            pub bound: Box<LBound>,
386        }
387
388        impl StringLTypeDefn {}
389
390        impl xidl_typeobject::XidlTypeObject for StringLTypeDefn {
391            fn minimal_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
392                xidl_typeobject::runtime::build_minimal_struct(
393                    0u32,
394                    xidl_typeobject::runtime::type_identifier_none(),
395                    vec![xidl_typeobject::runtime::StructMemberDesc {
396                        member_id: 1u32,
397                        member_flags: 0u32,
398                        type_id: xidl_typeobject::runtime::type_identifier_for::<LBound>(
399                            xidl_typeobject::runtime::TypeEquivalence::Minimal,
400                        ),
401                        name: "bound",
402                    }],
403                )
404            }
405
406            fn complete_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
407                xidl_typeobject::runtime::build_complete_struct(
408                    "DDS::XTypes::StringLTypeDefn",
409                    0u32,
410                    xidl_typeobject::runtime::type_identifier_none(),
411                    vec![xidl_typeobject::runtime::StructMemberDesc {
412                        member_id: 1u32,
413                        member_flags: 0u32,
414                        type_id: xidl_typeobject::runtime::type_identifier_for::<LBound>(
415                            xidl_typeobject::runtime::TypeEquivalence::Complete,
416                        ),
417                        name: "bound",
418                    }],
419                )
420            }
421        }
422        pub struct PlainCollectionHeader {
423            pub equiv_kind: Box<EquivalenceKind>,
424
425            pub element_flags: Box<CollectionElementFlag>,
426        }
427
428        impl PlainCollectionHeader {}
429
430        impl xidl_typeobject::XidlTypeObject for PlainCollectionHeader {
431            fn minimal_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
432                xidl_typeobject::runtime::build_minimal_struct(
433                    0u32,
434                    xidl_typeobject::runtime::type_identifier_none(),
435                    vec![
436                        xidl_typeobject::runtime::StructMemberDesc {
437                            member_id: 1u32,
438                            member_flags: 0u32,
439                            type_id: xidl_typeobject::runtime::type_identifier_for::<EquivalenceKind>(
440                                xidl_typeobject::runtime::TypeEquivalence::Minimal,
441                            ),
442                            name: "equiv_kind",
443                        },
444                        xidl_typeobject::runtime::StructMemberDesc {
445                            member_id: 2u32,
446                            member_flags: 0u32,
447                            type_id: xidl_typeobject::runtime::type_identifier_for::<
448                                CollectionElementFlag,
449                            >(
450                                xidl_typeobject::runtime::TypeEquivalence::Minimal
451                            ),
452                            name: "element_flags",
453                        },
454                    ],
455                )
456            }
457
458            fn complete_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
459                xidl_typeobject::runtime::build_complete_struct(
460                    "DDS::XTypes::PlainCollectionHeader",
461                    0u32,
462                    xidl_typeobject::runtime::type_identifier_none(),
463                    vec![
464                        xidl_typeobject::runtime::StructMemberDesc {
465                            member_id: 1u32,
466                            member_flags: 0u32,
467                            type_id: xidl_typeobject::runtime::type_identifier_for::<EquivalenceKind>(
468                                xidl_typeobject::runtime::TypeEquivalence::Complete,
469                            ),
470                            name: "equiv_kind",
471                        },
472                        xidl_typeobject::runtime::StructMemberDesc {
473                            member_id: 2u32,
474                            member_flags: 0u32,
475                            type_id: xidl_typeobject::runtime::type_identifier_for::<
476                                CollectionElementFlag,
477                            >(
478                                xidl_typeobject::runtime::TypeEquivalence::Complete
479                            ),
480                            name: "element_flags",
481                        },
482                    ],
483                )
484            }
485        }
486        pub struct PlainSequenceSElemDefn {
487            pub header: Box<PlainCollectionHeader>,
488
489            pub bound: Box<SBound>,
490
491            pub element_identifier: Box<TypeIdentifier>,
492        }
493
494        impl PlainSequenceSElemDefn {}
495
496        impl xidl_typeobject::XidlTypeObject for PlainSequenceSElemDefn {
497            fn minimal_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
498                xidl_typeobject::runtime::build_minimal_struct(
499                    0u32,
500                    xidl_typeobject::runtime::type_identifier_none(),
501                    vec![
502                        xidl_typeobject::runtime::StructMemberDesc {
503                            member_id: 1u32,
504                            member_flags: 0u32,
505                            type_id: xidl_typeobject::runtime::type_identifier_for::<
506                                PlainCollectionHeader,
507                            >(
508                                xidl_typeobject::runtime::TypeEquivalence::Minimal
509                            ),
510                            name: "header",
511                        },
512                        xidl_typeobject::runtime::StructMemberDesc {
513                            member_id: 2u32,
514                            member_flags: 0u32,
515                            type_id: xidl_typeobject::runtime::type_identifier_for::<SBound>(
516                                xidl_typeobject::runtime::TypeEquivalence::Minimal,
517                            ),
518                            name: "bound",
519                        },
520                        xidl_typeobject::runtime::StructMemberDesc {
521                            member_id: 3u32,
522                            member_flags: 4u32,
523                            type_id: xidl_typeobject::runtime::type_identifier_for::<TypeIdentifier>(
524                                xidl_typeobject::runtime::TypeEquivalence::Minimal,
525                            ),
526                            name: "element_identifier",
527                        },
528                    ],
529                )
530            }
531
532            fn complete_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
533                xidl_typeobject::runtime::build_complete_struct(
534                    "DDS::XTypes::PlainSequenceSElemDefn",
535                    0u32,
536                    xidl_typeobject::runtime::type_identifier_none(),
537                    vec![
538                        xidl_typeobject::runtime::StructMemberDesc {
539                            member_id: 1u32,
540                            member_flags: 0u32,
541                            type_id: xidl_typeobject::runtime::type_identifier_for::<
542                                PlainCollectionHeader,
543                            >(
544                                xidl_typeobject::runtime::TypeEquivalence::Complete
545                            ),
546                            name: "header",
547                        },
548                        xidl_typeobject::runtime::StructMemberDesc {
549                            member_id: 2u32,
550                            member_flags: 0u32,
551                            type_id: xidl_typeobject::runtime::type_identifier_for::<SBound>(
552                                xidl_typeobject::runtime::TypeEquivalence::Complete,
553                            ),
554                            name: "bound",
555                        },
556                        xidl_typeobject::runtime::StructMemberDesc {
557                            member_id: 3u32,
558                            member_flags: 4u32,
559                            type_id: xidl_typeobject::runtime::type_identifier_for::<TypeIdentifier>(
560                                xidl_typeobject::runtime::TypeEquivalence::Complete,
561                            ),
562                            name: "element_identifier",
563                        },
564                    ],
565                )
566            }
567        }
568        pub struct PlainSequenceLElemDefn {
569            pub header: Box<PlainCollectionHeader>,
570
571            pub bound: Box<LBound>,
572
573            pub element_identifier: Box<TypeIdentifier>,
574        }
575
576        impl PlainSequenceLElemDefn {}
577
578        impl xidl_typeobject::XidlTypeObject for PlainSequenceLElemDefn {
579            fn minimal_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
580                xidl_typeobject::runtime::build_minimal_struct(
581                    0u32,
582                    xidl_typeobject::runtime::type_identifier_none(),
583                    vec![
584                        xidl_typeobject::runtime::StructMemberDesc {
585                            member_id: 1u32,
586                            member_flags: 0u32,
587                            type_id: xidl_typeobject::runtime::type_identifier_for::<
588                                PlainCollectionHeader,
589                            >(
590                                xidl_typeobject::runtime::TypeEquivalence::Minimal
591                            ),
592                            name: "header",
593                        },
594                        xidl_typeobject::runtime::StructMemberDesc {
595                            member_id: 2u32,
596                            member_flags: 0u32,
597                            type_id: xidl_typeobject::runtime::type_identifier_for::<LBound>(
598                                xidl_typeobject::runtime::TypeEquivalence::Minimal,
599                            ),
600                            name: "bound",
601                        },
602                        xidl_typeobject::runtime::StructMemberDesc {
603                            member_id: 3u32,
604                            member_flags: 4u32,
605                            type_id: xidl_typeobject::runtime::type_identifier_for::<TypeIdentifier>(
606                                xidl_typeobject::runtime::TypeEquivalence::Minimal,
607                            ),
608                            name: "element_identifier",
609                        },
610                    ],
611                )
612            }
613
614            fn complete_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
615                xidl_typeobject::runtime::build_complete_struct(
616                    "DDS::XTypes::PlainSequenceLElemDefn",
617                    0u32,
618                    xidl_typeobject::runtime::type_identifier_none(),
619                    vec![
620                        xidl_typeobject::runtime::StructMemberDesc {
621                            member_id: 1u32,
622                            member_flags: 0u32,
623                            type_id: xidl_typeobject::runtime::type_identifier_for::<
624                                PlainCollectionHeader,
625                            >(
626                                xidl_typeobject::runtime::TypeEquivalence::Complete
627                            ),
628                            name: "header",
629                        },
630                        xidl_typeobject::runtime::StructMemberDesc {
631                            member_id: 2u32,
632                            member_flags: 0u32,
633                            type_id: xidl_typeobject::runtime::type_identifier_for::<LBound>(
634                                xidl_typeobject::runtime::TypeEquivalence::Complete,
635                            ),
636                            name: "bound",
637                        },
638                        xidl_typeobject::runtime::StructMemberDesc {
639                            member_id: 3u32,
640                            member_flags: 4u32,
641                            type_id: xidl_typeobject::runtime::type_identifier_for::<TypeIdentifier>(
642                                xidl_typeobject::runtime::TypeEquivalence::Complete,
643                            ),
644                            name: "element_identifier",
645                        },
646                    ],
647                )
648            }
649        }
650        pub struct PlainArraySElemDefn {
651            pub header: Box<PlainCollectionHeader>,
652
653            pub array_bound_seq: Box<SBoundSeq>,
654
655            pub element_identifier: Box<TypeIdentifier>,
656        }
657
658        impl PlainArraySElemDefn {}
659
660        impl xidl_typeobject::XidlTypeObject for PlainArraySElemDefn {
661            fn minimal_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
662                xidl_typeobject::runtime::build_minimal_struct(
663                    0u32,
664                    xidl_typeobject::runtime::type_identifier_none(),
665                    vec![
666                        xidl_typeobject::runtime::StructMemberDesc {
667                            member_id: 1u32,
668                            member_flags: 0u32,
669                            type_id: xidl_typeobject::runtime::type_identifier_for::<
670                                PlainCollectionHeader,
671                            >(
672                                xidl_typeobject::runtime::TypeEquivalence::Minimal
673                            ),
674                            name: "header",
675                        },
676                        xidl_typeobject::runtime::StructMemberDesc {
677                            member_id: 2u32,
678                            member_flags: 0u32,
679                            type_id: xidl_typeobject::runtime::type_identifier_for::<SBoundSeq>(
680                                xidl_typeobject::runtime::TypeEquivalence::Minimal,
681                            ),
682                            name: "array_bound_seq",
683                        },
684                        xidl_typeobject::runtime::StructMemberDesc {
685                            member_id: 3u32,
686                            member_flags: 4u32,
687                            type_id: xidl_typeobject::runtime::type_identifier_for::<TypeIdentifier>(
688                                xidl_typeobject::runtime::TypeEquivalence::Minimal,
689                            ),
690                            name: "element_identifier",
691                        },
692                    ],
693                )
694            }
695
696            fn complete_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
697                xidl_typeobject::runtime::build_complete_struct(
698                    "DDS::XTypes::PlainArraySElemDefn",
699                    0u32,
700                    xidl_typeobject::runtime::type_identifier_none(),
701                    vec![
702                        xidl_typeobject::runtime::StructMemberDesc {
703                            member_id: 1u32,
704                            member_flags: 0u32,
705                            type_id: xidl_typeobject::runtime::type_identifier_for::<
706                                PlainCollectionHeader,
707                            >(
708                                xidl_typeobject::runtime::TypeEquivalence::Complete
709                            ),
710                            name: "header",
711                        },
712                        xidl_typeobject::runtime::StructMemberDesc {
713                            member_id: 2u32,
714                            member_flags: 0u32,
715                            type_id: xidl_typeobject::runtime::type_identifier_for::<SBoundSeq>(
716                                xidl_typeobject::runtime::TypeEquivalence::Complete,
717                            ),
718                            name: "array_bound_seq",
719                        },
720                        xidl_typeobject::runtime::StructMemberDesc {
721                            member_id: 3u32,
722                            member_flags: 4u32,
723                            type_id: xidl_typeobject::runtime::type_identifier_for::<TypeIdentifier>(
724                                xidl_typeobject::runtime::TypeEquivalence::Complete,
725                            ),
726                            name: "element_identifier",
727                        },
728                    ],
729                )
730            }
731        }
732        pub struct PlainArrayLElemDefn {
733            pub header: Box<PlainCollectionHeader>,
734
735            pub array_bound_seq: Box<LBoundSeq>,
736
737            pub element_identifier: Box<TypeIdentifier>,
738        }
739
740        impl PlainArrayLElemDefn {}
741
742        impl xidl_typeobject::XidlTypeObject for PlainArrayLElemDefn {
743            fn minimal_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
744                xidl_typeobject::runtime::build_minimal_struct(
745                    0u32,
746                    xidl_typeobject::runtime::type_identifier_none(),
747                    vec![
748                        xidl_typeobject::runtime::StructMemberDesc {
749                            member_id: 1u32,
750                            member_flags: 0u32,
751                            type_id: xidl_typeobject::runtime::type_identifier_for::<
752                                PlainCollectionHeader,
753                            >(
754                                xidl_typeobject::runtime::TypeEquivalence::Minimal
755                            ),
756                            name: "header",
757                        },
758                        xidl_typeobject::runtime::StructMemberDesc {
759                            member_id: 2u32,
760                            member_flags: 0u32,
761                            type_id: xidl_typeobject::runtime::type_identifier_for::<LBoundSeq>(
762                                xidl_typeobject::runtime::TypeEquivalence::Minimal,
763                            ),
764                            name: "array_bound_seq",
765                        },
766                        xidl_typeobject::runtime::StructMemberDesc {
767                            member_id: 3u32,
768                            member_flags: 4u32,
769                            type_id: xidl_typeobject::runtime::type_identifier_for::<TypeIdentifier>(
770                                xidl_typeobject::runtime::TypeEquivalence::Minimal,
771                            ),
772                            name: "element_identifier",
773                        },
774                    ],
775                )
776            }
777
778            fn complete_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
779                xidl_typeobject::runtime::build_complete_struct(
780                    "DDS::XTypes::PlainArrayLElemDefn",
781                    0u32,
782                    xidl_typeobject::runtime::type_identifier_none(),
783                    vec![
784                        xidl_typeobject::runtime::StructMemberDesc {
785                            member_id: 1u32,
786                            member_flags: 0u32,
787                            type_id: xidl_typeobject::runtime::type_identifier_for::<
788                                PlainCollectionHeader,
789                            >(
790                                xidl_typeobject::runtime::TypeEquivalence::Complete
791                            ),
792                            name: "header",
793                        },
794                        xidl_typeobject::runtime::StructMemberDesc {
795                            member_id: 2u32,
796                            member_flags: 0u32,
797                            type_id: xidl_typeobject::runtime::type_identifier_for::<LBoundSeq>(
798                                xidl_typeobject::runtime::TypeEquivalence::Complete,
799                            ),
800                            name: "array_bound_seq",
801                        },
802                        xidl_typeobject::runtime::StructMemberDesc {
803                            member_id: 3u32,
804                            member_flags: 4u32,
805                            type_id: xidl_typeobject::runtime::type_identifier_for::<TypeIdentifier>(
806                                xidl_typeobject::runtime::TypeEquivalence::Complete,
807                            ),
808                            name: "element_identifier",
809                        },
810                    ],
811                )
812            }
813        }
814        pub struct PlainMapSTypeDefn {
815            pub header: Box<PlainCollectionHeader>,
816
817            pub bound: Box<SBound>,
818
819            pub element_identifier: Box<TypeIdentifier>,
820
821            pub key_flags: Box<CollectionElementFlag>,
822
823            pub key_identifier: Box<TypeIdentifier>,
824        }
825
826        impl PlainMapSTypeDefn {}
827
828        impl xidl_typeobject::XidlTypeObject for PlainMapSTypeDefn {
829            fn minimal_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
830                xidl_typeobject::runtime::build_minimal_struct(
831                    0u32,
832                    xidl_typeobject::runtime::type_identifier_none(),
833                    vec![
834                        xidl_typeobject::runtime::StructMemberDesc {
835                            member_id: 1u32,
836                            member_flags: 0u32,
837                            type_id: xidl_typeobject::runtime::type_identifier_for::<
838                                PlainCollectionHeader,
839                            >(
840                                xidl_typeobject::runtime::TypeEquivalence::Minimal
841                            ),
842                            name: "header",
843                        },
844                        xidl_typeobject::runtime::StructMemberDesc {
845                            member_id: 2u32,
846                            member_flags: 0u32,
847                            type_id: xidl_typeobject::runtime::type_identifier_for::<SBound>(
848                                xidl_typeobject::runtime::TypeEquivalence::Minimal,
849                            ),
850                            name: "bound",
851                        },
852                        xidl_typeobject::runtime::StructMemberDesc {
853                            member_id: 3u32,
854                            member_flags: 4u32,
855                            type_id: xidl_typeobject::runtime::type_identifier_for::<TypeIdentifier>(
856                                xidl_typeobject::runtime::TypeEquivalence::Minimal,
857                            ),
858                            name: "element_identifier",
859                        },
860                        xidl_typeobject::runtime::StructMemberDesc {
861                            member_id: 4u32,
862                            member_flags: 0u32,
863                            type_id: xidl_typeobject::runtime::type_identifier_for::<
864                                CollectionElementFlag,
865                            >(
866                                xidl_typeobject::runtime::TypeEquivalence::Minimal
867                            ),
868                            name: "key_flags",
869                        },
870                        xidl_typeobject::runtime::StructMemberDesc {
871                            member_id: 5u32,
872                            member_flags: 4u32,
873                            type_id: xidl_typeobject::runtime::type_identifier_for::<TypeIdentifier>(
874                                xidl_typeobject::runtime::TypeEquivalence::Minimal,
875                            ),
876                            name: "key_identifier",
877                        },
878                    ],
879                )
880            }
881
882            fn complete_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
883                xidl_typeobject::runtime::build_complete_struct(
884                    "DDS::XTypes::PlainMapSTypeDefn",
885                    0u32,
886                    xidl_typeobject::runtime::type_identifier_none(),
887                    vec![
888                        xidl_typeobject::runtime::StructMemberDesc {
889                            member_id: 1u32,
890                            member_flags: 0u32,
891                            type_id: xidl_typeobject::runtime::type_identifier_for::<
892                                PlainCollectionHeader,
893                            >(
894                                xidl_typeobject::runtime::TypeEquivalence::Complete
895                            ),
896                            name: "header",
897                        },
898                        xidl_typeobject::runtime::StructMemberDesc {
899                            member_id: 2u32,
900                            member_flags: 0u32,
901                            type_id: xidl_typeobject::runtime::type_identifier_for::<SBound>(
902                                xidl_typeobject::runtime::TypeEquivalence::Complete,
903                            ),
904                            name: "bound",
905                        },
906                        xidl_typeobject::runtime::StructMemberDesc {
907                            member_id: 3u32,
908                            member_flags: 4u32,
909                            type_id: xidl_typeobject::runtime::type_identifier_for::<TypeIdentifier>(
910                                xidl_typeobject::runtime::TypeEquivalence::Complete,
911                            ),
912                            name: "element_identifier",
913                        },
914                        xidl_typeobject::runtime::StructMemberDesc {
915                            member_id: 4u32,
916                            member_flags: 0u32,
917                            type_id: xidl_typeobject::runtime::type_identifier_for::<
918                                CollectionElementFlag,
919                            >(
920                                xidl_typeobject::runtime::TypeEquivalence::Complete
921                            ),
922                            name: "key_flags",
923                        },
924                        xidl_typeobject::runtime::StructMemberDesc {
925                            member_id: 5u32,
926                            member_flags: 4u32,
927                            type_id: xidl_typeobject::runtime::type_identifier_for::<TypeIdentifier>(
928                                xidl_typeobject::runtime::TypeEquivalence::Complete,
929                            ),
930                            name: "key_identifier",
931                        },
932                    ],
933                )
934            }
935        }
936        pub struct PlainMapLTypeDefn {
937            pub header: Box<PlainCollectionHeader>,
938
939            pub bound: Box<LBound>,
940
941            pub element_identifier: Box<TypeIdentifier>,
942
943            pub key_flags: Box<CollectionElementFlag>,
944
945            pub key_identifier: Box<TypeIdentifier>,
946        }
947
948        impl PlainMapLTypeDefn {}
949
950        impl xidl_typeobject::XidlTypeObject for PlainMapLTypeDefn {
951            fn minimal_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
952                xidl_typeobject::runtime::build_minimal_struct(
953                    0u32,
954                    xidl_typeobject::runtime::type_identifier_none(),
955                    vec![
956                        xidl_typeobject::runtime::StructMemberDesc {
957                            member_id: 1u32,
958                            member_flags: 0u32,
959                            type_id: xidl_typeobject::runtime::type_identifier_for::<
960                                PlainCollectionHeader,
961                            >(
962                                xidl_typeobject::runtime::TypeEquivalence::Minimal
963                            ),
964                            name: "header",
965                        },
966                        xidl_typeobject::runtime::StructMemberDesc {
967                            member_id: 2u32,
968                            member_flags: 0u32,
969                            type_id: xidl_typeobject::runtime::type_identifier_for::<LBound>(
970                                xidl_typeobject::runtime::TypeEquivalence::Minimal,
971                            ),
972                            name: "bound",
973                        },
974                        xidl_typeobject::runtime::StructMemberDesc {
975                            member_id: 3u32,
976                            member_flags: 4u32,
977                            type_id: xidl_typeobject::runtime::type_identifier_for::<TypeIdentifier>(
978                                xidl_typeobject::runtime::TypeEquivalence::Minimal,
979                            ),
980                            name: "element_identifier",
981                        },
982                        xidl_typeobject::runtime::StructMemberDesc {
983                            member_id: 4u32,
984                            member_flags: 0u32,
985                            type_id: xidl_typeobject::runtime::type_identifier_for::<
986                                CollectionElementFlag,
987                            >(
988                                xidl_typeobject::runtime::TypeEquivalence::Minimal
989                            ),
990                            name: "key_flags",
991                        },
992                        xidl_typeobject::runtime::StructMemberDesc {
993                            member_id: 5u32,
994                            member_flags: 4u32,
995                            type_id: xidl_typeobject::runtime::type_identifier_for::<TypeIdentifier>(
996                                xidl_typeobject::runtime::TypeEquivalence::Minimal,
997                            ),
998                            name: "key_identifier",
999                        },
1000                    ],
1001                )
1002            }
1003
1004            fn complete_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
1005                xidl_typeobject::runtime::build_complete_struct(
1006                    "DDS::XTypes::PlainMapLTypeDefn",
1007                    0u32,
1008                    xidl_typeobject::runtime::type_identifier_none(),
1009                    vec![
1010                        xidl_typeobject::runtime::StructMemberDesc {
1011                            member_id: 1u32,
1012                            member_flags: 0u32,
1013                            type_id: xidl_typeobject::runtime::type_identifier_for::<
1014                                PlainCollectionHeader,
1015                            >(
1016                                xidl_typeobject::runtime::TypeEquivalence::Complete
1017                            ),
1018                            name: "header",
1019                        },
1020                        xidl_typeobject::runtime::StructMemberDesc {
1021                            member_id: 2u32,
1022                            member_flags: 0u32,
1023                            type_id: xidl_typeobject::runtime::type_identifier_for::<LBound>(
1024                                xidl_typeobject::runtime::TypeEquivalence::Complete,
1025                            ),
1026                            name: "bound",
1027                        },
1028                        xidl_typeobject::runtime::StructMemberDesc {
1029                            member_id: 3u32,
1030                            member_flags: 4u32,
1031                            type_id: xidl_typeobject::runtime::type_identifier_for::<TypeIdentifier>(
1032                                xidl_typeobject::runtime::TypeEquivalence::Complete,
1033                            ),
1034                            name: "element_identifier",
1035                        },
1036                        xidl_typeobject::runtime::StructMemberDesc {
1037                            member_id: 4u32,
1038                            member_flags: 0u32,
1039                            type_id: xidl_typeobject::runtime::type_identifier_for::<
1040                                CollectionElementFlag,
1041                            >(
1042                                xidl_typeobject::runtime::TypeEquivalence::Complete
1043                            ),
1044                            name: "key_flags",
1045                        },
1046                        xidl_typeobject::runtime::StructMemberDesc {
1047                            member_id: 5u32,
1048                            member_flags: 4u32,
1049                            type_id: xidl_typeobject::runtime::type_identifier_for::<TypeIdentifier>(
1050                                xidl_typeobject::runtime::TypeEquivalence::Complete,
1051                            ),
1052                            name: "key_identifier",
1053                        },
1054                    ],
1055                )
1056            }
1057        }
1058        pub struct StronglyConnectedComponentId {
1059            pub sc_component_id: Box<TypeObjectHashId>,
1060
1061            pub scc_length: i32,
1062
1063            pub scc_index: i32,
1064        }
1065
1066        impl StronglyConnectedComponentId {}
1067
1068        impl xidl_typeobject::XidlTypeObject for StronglyConnectedComponentId {
1069            fn minimal_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
1070                xidl_typeobject::runtime::build_minimal_struct(
1071                    0u32,
1072                    xidl_typeobject::runtime::type_identifier_none(),
1073                    vec![
1074                        xidl_typeobject::runtime::StructMemberDesc {
1075                            member_id: 1u32,
1076                            member_flags: 0u32,
1077                            type_id: xidl_typeobject::runtime::type_identifier_for::<
1078                                TypeObjectHashId,
1079                            >(
1080                                xidl_typeobject::runtime::TypeEquivalence::Minimal
1081                            ),
1082                            name: "sc_component_id",
1083                        },
1084                        xidl_typeobject::runtime::StructMemberDesc {
1085                            member_id: 2u32,
1086                            member_flags: 0u32,
1087                            type_id: xidl_typeobject::runtime::type_identifier_primitive(
1088                                xidl_typeobject::DDS::XTypes::TK_INT32,
1089                            ),
1090                            name: "scc_length",
1091                        },
1092                        xidl_typeobject::runtime::StructMemberDesc {
1093                            member_id: 3u32,
1094                            member_flags: 0u32,
1095                            type_id: xidl_typeobject::runtime::type_identifier_primitive(
1096                                xidl_typeobject::DDS::XTypes::TK_INT32,
1097                            ),
1098                            name: "scc_index",
1099                        },
1100                    ],
1101                )
1102            }
1103
1104            fn complete_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
1105                xidl_typeobject::runtime::build_complete_struct(
1106                    "DDS::XTypes::StronglyConnectedComponentId",
1107                    0u32,
1108                    xidl_typeobject::runtime::type_identifier_none(),
1109                    vec![
1110                        xidl_typeobject::runtime::StructMemberDesc {
1111                            member_id: 1u32,
1112                            member_flags: 0u32,
1113                            type_id: xidl_typeobject::runtime::type_identifier_for::<
1114                                TypeObjectHashId,
1115                            >(
1116                                xidl_typeobject::runtime::TypeEquivalence::Complete
1117                            ),
1118                            name: "sc_component_id",
1119                        },
1120                        xidl_typeobject::runtime::StructMemberDesc {
1121                            member_id: 2u32,
1122                            member_flags: 0u32,
1123                            type_id: xidl_typeobject::runtime::type_identifier_primitive(
1124                                xidl_typeobject::DDS::XTypes::TK_INT32,
1125                            ),
1126                            name: "scc_length",
1127                        },
1128                        xidl_typeobject::runtime::StructMemberDesc {
1129                            member_id: 3u32,
1130                            member_flags: 0u32,
1131                            type_id: xidl_typeobject::runtime::type_identifier_primitive(
1132                                xidl_typeobject::DDS::XTypes::TK_INT32,
1133                            ),
1134                            name: "scc_index",
1135                        },
1136                    ],
1137                )
1138            }
1139        }
1140        pub struct ExtendedTypeDefn {}
1141
1142        impl ExtendedTypeDefn {}
1143
1144        impl xidl_typeobject::XidlTypeObject for ExtendedTypeDefn {
1145            fn minimal_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
1146                xidl_typeobject::runtime::build_minimal_struct(
1147                    0u32,
1148                    xidl_typeobject::runtime::type_identifier_none(),
1149                    vec![],
1150                )
1151            }
1152
1153            fn complete_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
1154                xidl_typeobject::runtime::build_complete_struct(
1155                    "DDS::XTypes::ExtendedTypeDefn",
1156                    0u32,
1157                    xidl_typeobject::runtime::type_identifier_none(),
1158                    vec![],
1159                )
1160            }
1161        }
1162        pub struct TypeIdentifier {
1163            pub _d: u8,
1164
1165            pub string_sdefn: Option<Box<StringSTypeDefn>>,
1166
1167            pub string_ldefn: Option<Box<StringLTypeDefn>>,
1168
1169            pub seq_sdefn: Option<Box<PlainSequenceSElemDefn>>,
1170
1171            pub seq_ldefn: Option<Box<PlainSequenceLElemDefn>>,
1172
1173            pub array_sdefn: Option<Box<PlainArraySElemDefn>>,
1174
1175            pub array_ldefn: Option<Box<PlainArrayLElemDefn>>,
1176
1177            pub map_sdefn: Option<Box<PlainMapSTypeDefn>>,
1178
1179            pub map_ldefn: Option<Box<PlainMapLTypeDefn>>,
1180
1181            pub sc_component_id: Option<Box<StronglyConnectedComponentId>>,
1182
1183            pub equivalence_hash: Option<Box<EquivalenceHash>>,
1184
1185            pub extended_defn: Option<Box<ExtendedTypeDefn>>,
1186        }
1187
1188        impl TypeIdentifier {
1189            pub fn new_string_sdefn(value: Box<StringSTypeDefn>) -> Self {
1190                Self {
1191                    _d: TI_STRING8_SMALL | TI_STRING16_SMALL,
1192                    string_sdefn: Some(value),
1193
1194                    string_ldefn: None,
1195
1196                    seq_sdefn: None,
1197
1198                    seq_ldefn: None,
1199
1200                    array_sdefn: None,
1201
1202                    array_ldefn: None,
1203
1204                    map_sdefn: None,
1205
1206                    map_ldefn: None,
1207
1208                    sc_component_id: None,
1209
1210                    equivalence_hash: None,
1211
1212                    extended_defn: None,
1213                }
1214            }
1215
1216            pub fn is_string_sdefn(&self) -> bool {
1217                matches!(self._d, TI_STRING8_SMALL | TI_STRING16_SMALL)
1218            }
1219
1220            pub fn new_string_ldefn(value: Box<StringLTypeDefn>) -> Self {
1221                Self {
1222                    _d: TI_STRING8_LARGE | TI_STRING16_LARGE,
1223                    string_ldefn: Some(value),
1224
1225                    string_sdefn: None,
1226
1227                    seq_sdefn: None,
1228
1229                    seq_ldefn: None,
1230
1231                    array_sdefn: None,
1232
1233                    array_ldefn: None,
1234
1235                    map_sdefn: None,
1236
1237                    map_ldefn: None,
1238
1239                    sc_component_id: None,
1240
1241                    equivalence_hash: None,
1242
1243                    extended_defn: None,
1244                }
1245            }
1246
1247            pub fn is_string_ldefn(&self) -> bool {
1248                matches!(self._d, TI_STRING8_LARGE | TI_STRING16_LARGE)
1249            }
1250
1251            pub fn new_seq_sdefn(value: Box<PlainSequenceSElemDefn>) -> Self {
1252                Self {
1253                    _d: TI_PLAIN_SEQUENCE_SMALL,
1254                    seq_sdefn: Some(value),
1255
1256                    string_sdefn: None,
1257
1258                    string_ldefn: None,
1259
1260                    seq_ldefn: None,
1261
1262                    array_sdefn: None,
1263
1264                    array_ldefn: None,
1265
1266                    map_sdefn: None,
1267
1268                    map_ldefn: None,
1269
1270                    sc_component_id: None,
1271
1272                    equivalence_hash: None,
1273
1274                    extended_defn: None,
1275                }
1276            }
1277
1278            pub fn is_seq_sdefn(&self) -> bool {
1279                matches!(self._d, TI_PLAIN_SEQUENCE_SMALL)
1280            }
1281
1282            pub fn new_seq_ldefn(value: Box<PlainSequenceLElemDefn>) -> Self {
1283                Self {
1284                    _d: TI_PLAIN_SEQUENCE_LARGE,
1285                    seq_ldefn: Some(value),
1286
1287                    string_sdefn: None,
1288
1289                    string_ldefn: None,
1290
1291                    seq_sdefn: None,
1292
1293                    array_sdefn: None,
1294
1295                    array_ldefn: None,
1296
1297                    map_sdefn: None,
1298
1299                    map_ldefn: None,
1300
1301                    sc_component_id: None,
1302
1303                    equivalence_hash: None,
1304
1305                    extended_defn: None,
1306                }
1307            }
1308
1309            pub fn is_seq_ldefn(&self) -> bool {
1310                matches!(self._d, TI_PLAIN_SEQUENCE_LARGE)
1311            }
1312
1313            pub fn new_array_sdefn(value: Box<PlainArraySElemDefn>) -> Self {
1314                Self {
1315                    _d: TI_PLAIN_ARRAY_SMALL,
1316                    array_sdefn: Some(value),
1317
1318                    string_sdefn: None,
1319
1320                    string_ldefn: None,
1321
1322                    seq_sdefn: None,
1323
1324                    seq_ldefn: None,
1325
1326                    array_ldefn: None,
1327
1328                    map_sdefn: None,
1329
1330                    map_ldefn: None,
1331
1332                    sc_component_id: None,
1333
1334                    equivalence_hash: None,
1335
1336                    extended_defn: None,
1337                }
1338            }
1339
1340            pub fn is_array_sdefn(&self) -> bool {
1341                matches!(self._d, TI_PLAIN_ARRAY_SMALL)
1342            }
1343
1344            pub fn new_array_ldefn(value: Box<PlainArrayLElemDefn>) -> Self {
1345                Self {
1346                    _d: TI_PLAIN_ARRAY_LARGE,
1347                    array_ldefn: Some(value),
1348
1349                    string_sdefn: None,
1350
1351                    string_ldefn: None,
1352
1353                    seq_sdefn: None,
1354
1355                    seq_ldefn: None,
1356
1357                    array_sdefn: None,
1358
1359                    map_sdefn: None,
1360
1361                    map_ldefn: None,
1362
1363                    sc_component_id: None,
1364
1365                    equivalence_hash: None,
1366
1367                    extended_defn: None,
1368                }
1369            }
1370
1371            pub fn is_array_ldefn(&self) -> bool {
1372                matches!(self._d, TI_PLAIN_ARRAY_LARGE)
1373            }
1374
1375            pub fn new_map_sdefn(value: Box<PlainMapSTypeDefn>) -> Self {
1376                Self {
1377                    _d: TI_PLAIN_MAP_SMALL,
1378                    map_sdefn: Some(value),
1379
1380                    string_sdefn: None,
1381
1382                    string_ldefn: None,
1383
1384                    seq_sdefn: None,
1385
1386                    seq_ldefn: None,
1387
1388                    array_sdefn: None,
1389
1390                    array_ldefn: None,
1391
1392                    map_ldefn: None,
1393
1394                    sc_component_id: None,
1395
1396                    equivalence_hash: None,
1397
1398                    extended_defn: None,
1399                }
1400            }
1401
1402            pub fn is_map_sdefn(&self) -> bool {
1403                matches!(self._d, TI_PLAIN_MAP_SMALL)
1404            }
1405
1406            pub fn new_map_ldefn(value: Box<PlainMapLTypeDefn>) -> Self {
1407                Self {
1408                    _d: TI_PLAIN_MAP_LARGE,
1409                    map_ldefn: Some(value),
1410
1411                    string_sdefn: None,
1412
1413                    string_ldefn: None,
1414
1415                    seq_sdefn: None,
1416
1417                    seq_ldefn: None,
1418
1419                    array_sdefn: None,
1420
1421                    array_ldefn: None,
1422
1423                    map_sdefn: None,
1424
1425                    sc_component_id: None,
1426
1427                    equivalence_hash: None,
1428
1429                    extended_defn: None,
1430                }
1431            }
1432
1433            pub fn is_map_ldefn(&self) -> bool {
1434                matches!(self._d, TI_PLAIN_MAP_LARGE)
1435            }
1436
1437            pub fn new_sc_component_id(value: Box<StronglyConnectedComponentId>) -> Self {
1438                Self {
1439                    _d: TI_STRONGLY_CONNECTED_COMPONENT,
1440                    sc_component_id: Some(value),
1441
1442                    string_sdefn: None,
1443
1444                    string_ldefn: None,
1445
1446                    seq_sdefn: None,
1447
1448                    seq_ldefn: None,
1449
1450                    array_sdefn: None,
1451
1452                    array_ldefn: None,
1453
1454                    map_sdefn: None,
1455
1456                    map_ldefn: None,
1457
1458                    equivalence_hash: None,
1459
1460                    extended_defn: None,
1461                }
1462            }
1463
1464            pub fn is_sc_component_id(&self) -> bool {
1465                matches!(self._d, TI_STRONGLY_CONNECTED_COMPONENT)
1466            }
1467
1468            pub fn new_equivalence_hash(value: Box<EquivalenceHash>) -> Self {
1469                Self {
1470                    _d: EK_COMPLETE | EK_MINIMAL,
1471                    equivalence_hash: Some(value),
1472
1473                    string_sdefn: None,
1474
1475                    string_ldefn: None,
1476
1477                    seq_sdefn: None,
1478
1479                    seq_ldefn: None,
1480
1481                    array_sdefn: None,
1482
1483                    array_ldefn: None,
1484
1485                    map_sdefn: None,
1486
1487                    map_ldefn: None,
1488
1489                    sc_component_id: None,
1490
1491                    extended_defn: None,
1492                }
1493            }
1494
1495            pub fn is_equivalence_hash(&self) -> bool {
1496                matches!(self._d, EK_COMPLETE | EK_MINIMAL)
1497            }
1498
1499            pub fn new_extended_defn(value: Box<ExtendedTypeDefn>) -> Self {
1500                Self {
1501                    _d: u8::default(),
1502                    extended_defn: Some(value),
1503
1504                    string_sdefn: None,
1505
1506                    string_ldefn: None,
1507
1508                    seq_sdefn: None,
1509
1510                    seq_ldefn: None,
1511
1512                    array_sdefn: None,
1513
1514                    array_ldefn: None,
1515
1516                    map_sdefn: None,
1517
1518                    map_ldefn: None,
1519
1520                    sc_component_id: None,
1521
1522                    equivalence_hash: None,
1523                }
1524            }
1525
1526            pub fn is_extended_defn(&self) -> bool {
1527                matches!(self._d, _)
1528            }
1529
1530            pub fn tag(&self) -> &u8 {
1531                &self._d
1532            }
1533        }
1534
1535        impl xidl_typeobject::XidlTypeObject for TypeIdentifier {
1536            fn minimal_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
1537                xidl_typeobject::runtime::build_minimal_union(
1538                    0u32,
1539                    xidl_typeobject::runtime::type_identifier_primitive(
1540                        xidl_typeobject::DDS::XTypes::TK_BYTE,
1541                    ),
1542                    vec![
1543                        xidl_typeobject::runtime::UnionMemberDesc {
1544                            member_id: 1u32,
1545                            member_flags: 0u32,
1546                            type_id: xidl_typeobject::runtime::type_identifier_for::<StringSTypeDefn>(
1547                                xidl_typeobject::runtime::TypeEquivalence::Minimal,
1548                            ),
1549                            name: "string_sdefn",
1550                            labels: vec![0i32, 0i32],
1551                        },
1552                        xidl_typeobject::runtime::UnionMemberDesc {
1553                            member_id: 3u32,
1554                            member_flags: 0u32,
1555                            type_id: xidl_typeobject::runtime::type_identifier_for::<
1556                                PlainSequenceSElemDefn,
1557                            >(
1558                                xidl_typeobject::runtime::TypeEquivalence::Minimal
1559                            ),
1560                            name: "seq_sdefn",
1561                            labels: vec![0i32],
1562                        },
1563                        xidl_typeobject::runtime::UnionMemberDesc {
1564                            member_id: 9u32,
1565                            member_flags: 0u32,
1566                            type_id: xidl_typeobject::runtime::type_identifier_for::<
1567                                StronglyConnectedComponentId,
1568                            >(
1569                                xidl_typeobject::runtime::TypeEquivalence::Minimal
1570                            ),
1571                            name: "sc_component_id",
1572                            labels: vec![0i32],
1573                        },
1574                        xidl_typeobject::runtime::UnionMemberDesc {
1575                            member_id: 11u32,
1576                            member_flags: 64u32,
1577                            type_id: xidl_typeobject::runtime::type_identifier_for::<
1578                                ExtendedTypeDefn,
1579                            >(
1580                                xidl_typeobject::runtime::TypeEquivalence::Minimal
1581                            ),
1582                            name: "extended_defn",
1583                            labels: vec![],
1584                        },
1585                        xidl_typeobject::runtime::UnionMemberDesc {
1586                            member_id: 5u32,
1587                            member_flags: 0u32,
1588                            type_id: xidl_typeobject::runtime::type_identifier_for::<
1589                                PlainArraySElemDefn,
1590                            >(
1591                                xidl_typeobject::runtime::TypeEquivalence::Minimal
1592                            ),
1593                            name: "array_sdefn",
1594                            labels: vec![0i32],
1595                        },
1596                        xidl_typeobject::runtime::UnionMemberDesc {
1597                            member_id: 10u32,
1598                            member_flags: 0u32,
1599                            type_id: xidl_typeobject::runtime::type_identifier_for::<EquivalenceHash>(
1600                                xidl_typeobject::runtime::TypeEquivalence::Minimal,
1601                            ),
1602                            name: "equivalence_hash",
1603                            labels: vec![0i32, 0i32],
1604                        },
1605                        xidl_typeobject::runtime::UnionMemberDesc {
1606                            member_id: 4u32,
1607                            member_flags: 0u32,
1608                            type_id: xidl_typeobject::runtime::type_identifier_for::<
1609                                PlainSequenceLElemDefn,
1610                            >(
1611                                xidl_typeobject::runtime::TypeEquivalence::Minimal
1612                            ),
1613                            name: "seq_ldefn",
1614                            labels: vec![0i32],
1615                        },
1616                        xidl_typeobject::runtime::UnionMemberDesc {
1617                            member_id: 6u32,
1618                            member_flags: 0u32,
1619                            type_id: xidl_typeobject::runtime::type_identifier_for::<
1620                                PlainArrayLElemDefn,
1621                            >(
1622                                xidl_typeobject::runtime::TypeEquivalence::Minimal
1623                            ),
1624                            name: "array_ldefn",
1625                            labels: vec![0i32],
1626                        },
1627                        xidl_typeobject::runtime::UnionMemberDesc {
1628                            member_id: 7u32,
1629                            member_flags: 0u32,
1630                            type_id: xidl_typeobject::runtime::type_identifier_for::<
1631                                PlainMapSTypeDefn,
1632                            >(
1633                                xidl_typeobject::runtime::TypeEquivalence::Minimal
1634                            ),
1635                            name: "map_sdefn",
1636                            labels: vec![0i32],
1637                        },
1638                        xidl_typeobject::runtime::UnionMemberDesc {
1639                            member_id: 2u32,
1640                            member_flags: 0u32,
1641                            type_id: xidl_typeobject::runtime::type_identifier_for::<StringLTypeDefn>(
1642                                xidl_typeobject::runtime::TypeEquivalence::Minimal,
1643                            ),
1644                            name: "string_ldefn",
1645                            labels: vec![0i32, 0i32],
1646                        },
1647                        xidl_typeobject::runtime::UnionMemberDesc {
1648                            member_id: 8u32,
1649                            member_flags: 0u32,
1650                            type_id: xidl_typeobject::runtime::type_identifier_for::<
1651                                PlainMapLTypeDefn,
1652                            >(
1653                                xidl_typeobject::runtime::TypeEquivalence::Minimal
1654                            ),
1655                            name: "map_ldefn",
1656                            labels: vec![0i32],
1657                        },
1658                    ],
1659                )
1660            }
1661
1662            fn complete_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
1663                xidl_typeobject::runtime::build_complete_union(
1664                    "DDS::XTypes::TypeIdentifier",
1665                    0u32,
1666                    xidl_typeobject::runtime::type_identifier_primitive(
1667                        xidl_typeobject::DDS::XTypes::TK_BYTE,
1668                    ),
1669                    vec![
1670                        xidl_typeobject::runtime::UnionMemberDesc {
1671                            member_id: 1u32,
1672                            member_flags: 0u32,
1673                            type_id: xidl_typeobject::runtime::type_identifier_for::<StringSTypeDefn>(
1674                                xidl_typeobject::runtime::TypeEquivalence::Complete,
1675                            ),
1676                            name: "string_sdefn",
1677                            labels: vec![0i32, 0i32],
1678                        },
1679                        xidl_typeobject::runtime::UnionMemberDesc {
1680                            member_id: 3u32,
1681                            member_flags: 0u32,
1682                            type_id: xidl_typeobject::runtime::type_identifier_for::<
1683                                PlainSequenceSElemDefn,
1684                            >(
1685                                xidl_typeobject::runtime::TypeEquivalence::Complete
1686                            ),
1687                            name: "seq_sdefn",
1688                            labels: vec![0i32],
1689                        },
1690                        xidl_typeobject::runtime::UnionMemberDesc {
1691                            member_id: 9u32,
1692                            member_flags: 0u32,
1693                            type_id: xidl_typeobject::runtime::type_identifier_for::<
1694                                StronglyConnectedComponentId,
1695                            >(
1696                                xidl_typeobject::runtime::TypeEquivalence::Complete
1697                            ),
1698                            name: "sc_component_id",
1699                            labels: vec![0i32],
1700                        },
1701                        xidl_typeobject::runtime::UnionMemberDesc {
1702                            member_id: 11u32,
1703                            member_flags: 64u32,
1704                            type_id: xidl_typeobject::runtime::type_identifier_for::<
1705                                ExtendedTypeDefn,
1706                            >(
1707                                xidl_typeobject::runtime::TypeEquivalence::Complete
1708                            ),
1709                            name: "extended_defn",
1710                            labels: vec![],
1711                        },
1712                        xidl_typeobject::runtime::UnionMemberDesc {
1713                            member_id: 5u32,
1714                            member_flags: 0u32,
1715                            type_id: xidl_typeobject::runtime::type_identifier_for::<
1716                                PlainArraySElemDefn,
1717                            >(
1718                                xidl_typeobject::runtime::TypeEquivalence::Complete
1719                            ),
1720                            name: "array_sdefn",
1721                            labels: vec![0i32],
1722                        },
1723                        xidl_typeobject::runtime::UnionMemberDesc {
1724                            member_id: 10u32,
1725                            member_flags: 0u32,
1726                            type_id: xidl_typeobject::runtime::type_identifier_for::<EquivalenceHash>(
1727                                xidl_typeobject::runtime::TypeEquivalence::Complete,
1728                            ),
1729                            name: "equivalence_hash",
1730                            labels: vec![0i32, 0i32],
1731                        },
1732                        xidl_typeobject::runtime::UnionMemberDesc {
1733                            member_id: 4u32,
1734                            member_flags: 0u32,
1735                            type_id: xidl_typeobject::runtime::type_identifier_for::<
1736                                PlainSequenceLElemDefn,
1737                            >(
1738                                xidl_typeobject::runtime::TypeEquivalence::Complete
1739                            ),
1740                            name: "seq_ldefn",
1741                            labels: vec![0i32],
1742                        },
1743                        xidl_typeobject::runtime::UnionMemberDesc {
1744                            member_id: 6u32,
1745                            member_flags: 0u32,
1746                            type_id: xidl_typeobject::runtime::type_identifier_for::<
1747                                PlainArrayLElemDefn,
1748                            >(
1749                                xidl_typeobject::runtime::TypeEquivalence::Complete
1750                            ),
1751                            name: "array_ldefn",
1752                            labels: vec![0i32],
1753                        },
1754                        xidl_typeobject::runtime::UnionMemberDesc {
1755                            member_id: 7u32,
1756                            member_flags: 0u32,
1757                            type_id: xidl_typeobject::runtime::type_identifier_for::<
1758                                PlainMapSTypeDefn,
1759                            >(
1760                                xidl_typeobject::runtime::TypeEquivalence::Complete
1761                            ),
1762                            name: "map_sdefn",
1763                            labels: vec![0i32],
1764                        },
1765                        xidl_typeobject::runtime::UnionMemberDesc {
1766                            member_id: 2u32,
1767                            member_flags: 0u32,
1768                            type_id: xidl_typeobject::runtime::type_identifier_for::<StringLTypeDefn>(
1769                                xidl_typeobject::runtime::TypeEquivalence::Complete,
1770                            ),
1771                            name: "string_ldefn",
1772                            labels: vec![0i32, 0i32],
1773                        },
1774                        xidl_typeobject::runtime::UnionMemberDesc {
1775                            member_id: 8u32,
1776                            member_flags: 0u32,
1777                            type_id: xidl_typeobject::runtime::type_identifier_for::<
1778                                PlainMapLTypeDefn,
1779                            >(
1780                                xidl_typeobject::runtime::TypeEquivalence::Complete
1781                            ),
1782                            name: "map_ldefn",
1783                            labels: vec![0i32],
1784                        },
1785                    ],
1786                )
1787            }
1788        }
1789        pub type TypeIdentifierSeq = Vec<TypeIdentifier>;
1790        pub type MemberId = u32;
1791        pub const ANNOTATION_STR_VALUE_MAX_LEN: u32 = 128;
1792        pub const ANNOTATION_OCTETSEC_VALUE_MAX_LEN: u32 = 128;
1793        pub struct ExtendedAnnotationParameterValue {}
1794
1795        impl ExtendedAnnotationParameterValue {}
1796
1797        impl xidl_typeobject::XidlTypeObject for ExtendedAnnotationParameterValue {
1798            fn minimal_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
1799                xidl_typeobject::runtime::build_minimal_struct(
1800                    0u32,
1801                    xidl_typeobject::runtime::type_identifier_none(),
1802                    vec![],
1803                )
1804            }
1805
1806            fn complete_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
1807                xidl_typeobject::runtime::build_complete_struct(
1808                    "DDS::XTypes::ExtendedAnnotationParameterValue",
1809                    0u32,
1810                    xidl_typeobject::runtime::type_identifier_none(),
1811                    vec![],
1812                )
1813            }
1814        }
1815        pub struct AnnotationParameterValue {
1816            pub _d: u8,
1817
1818            pub boolean_value: Option<bool>,
1819
1820            pub byte_value: Option<u8>,
1821
1822            pub int16_value: Option<i16>,
1823
1824            pub uint_16_value: Option<u16>,
1825
1826            pub int32_value: Option<i32>,
1827
1828            pub uint32_value: Option<u32>,
1829
1830            pub int64_value: Option<i64>,
1831
1832            pub uint64_value: Option<u64>,
1833
1834            pub float32_value: Option<f64>,
1835
1836            pub float64_value: Option<f64>,
1837
1838            pub float128_value: Option<f64>,
1839
1840            pub char_value: Option<char>,
1841
1842            pub wchar_value: Option<char>,
1843
1844            pub enumerated_value: Option<i32>,
1845
1846            pub string8_value: Option<String>,
1847
1848            pub string16_value: Option<String>,
1849
1850            pub extended_value: Option<Box<ExtendedAnnotationParameterValue>>,
1851        }
1852
1853        impl AnnotationParameterValue {
1854            pub fn new_boolean_value(value: bool) -> Self {
1855                Self {
1856                    _d: TK_BOOLEAN,
1857                    boolean_value: Some(value),
1858
1859                    byte_value: None,
1860
1861                    int16_value: None,
1862
1863                    uint_16_value: None,
1864
1865                    int32_value: None,
1866
1867                    uint32_value: None,
1868
1869                    int64_value: None,
1870
1871                    uint64_value: None,
1872
1873                    float32_value: None,
1874
1875                    float64_value: None,
1876
1877                    float128_value: None,
1878
1879                    char_value: None,
1880
1881                    wchar_value: None,
1882
1883                    enumerated_value: None,
1884
1885                    string8_value: None,
1886
1887                    string16_value: None,
1888
1889                    extended_value: None,
1890                }
1891            }
1892
1893            pub fn is_boolean_value(&self) -> bool {
1894                matches!(self._d, TK_BOOLEAN)
1895            }
1896
1897            pub fn new_byte_value(value: u8) -> Self {
1898                Self {
1899                    _d: TK_BYTE,
1900                    byte_value: Some(value),
1901
1902                    boolean_value: None,
1903
1904                    int16_value: None,
1905
1906                    uint_16_value: None,
1907
1908                    int32_value: None,
1909
1910                    uint32_value: None,
1911
1912                    int64_value: None,
1913
1914                    uint64_value: None,
1915
1916                    float32_value: None,
1917
1918                    float64_value: None,
1919
1920                    float128_value: None,
1921
1922                    char_value: None,
1923
1924                    wchar_value: None,
1925
1926                    enumerated_value: None,
1927
1928                    string8_value: None,
1929
1930                    string16_value: None,
1931
1932                    extended_value: None,
1933                }
1934            }
1935
1936            pub fn is_byte_value(&self) -> bool {
1937                matches!(self._d, TK_BYTE)
1938            }
1939
1940            pub fn new_int16_value(value: i16) -> Self {
1941                Self {
1942                    _d: TK_INT16,
1943                    int16_value: Some(value),
1944
1945                    boolean_value: None,
1946
1947                    byte_value: None,
1948
1949                    uint_16_value: None,
1950
1951                    int32_value: None,
1952
1953                    uint32_value: None,
1954
1955                    int64_value: None,
1956
1957                    uint64_value: None,
1958
1959                    float32_value: None,
1960
1961                    float64_value: None,
1962
1963                    float128_value: None,
1964
1965                    char_value: None,
1966
1967                    wchar_value: None,
1968
1969                    enumerated_value: None,
1970
1971                    string8_value: None,
1972
1973                    string16_value: None,
1974
1975                    extended_value: None,
1976                }
1977            }
1978
1979            pub fn is_int16_value(&self) -> bool {
1980                matches!(self._d, TK_INT16)
1981            }
1982
1983            pub fn new_uint_16_value(value: u16) -> Self {
1984                Self {
1985                    _d: TK_UINT16,
1986                    uint_16_value: Some(value),
1987
1988                    boolean_value: None,
1989
1990                    byte_value: None,
1991
1992                    int16_value: None,
1993
1994                    int32_value: None,
1995
1996                    uint32_value: None,
1997
1998                    int64_value: None,
1999
2000                    uint64_value: None,
2001
2002                    float32_value: None,
2003
2004                    float64_value: None,
2005
2006                    float128_value: None,
2007
2008                    char_value: None,
2009
2010                    wchar_value: None,
2011
2012                    enumerated_value: None,
2013
2014                    string8_value: None,
2015
2016                    string16_value: None,
2017
2018                    extended_value: None,
2019                }
2020            }
2021
2022            pub fn is_uint_16_value(&self) -> bool {
2023                matches!(self._d, TK_UINT16)
2024            }
2025
2026            pub fn new_int32_value(value: i32) -> Self {
2027                Self {
2028                    _d: TK_INT32,
2029                    int32_value: Some(value),
2030
2031                    boolean_value: None,
2032
2033                    byte_value: None,
2034
2035                    int16_value: None,
2036
2037                    uint_16_value: None,
2038
2039                    uint32_value: None,
2040
2041                    int64_value: None,
2042
2043                    uint64_value: None,
2044
2045                    float32_value: None,
2046
2047                    float64_value: None,
2048
2049                    float128_value: None,
2050
2051                    char_value: None,
2052
2053                    wchar_value: None,
2054
2055                    enumerated_value: None,
2056
2057                    string8_value: None,
2058
2059                    string16_value: None,
2060
2061                    extended_value: None,
2062                }
2063            }
2064
2065            pub fn is_int32_value(&self) -> bool {
2066                matches!(self._d, TK_INT32)
2067            }
2068
2069            pub fn new_uint32_value(value: u32) -> Self {
2070                Self {
2071                    _d: TK_UINT32,
2072                    uint32_value: Some(value),
2073
2074                    boolean_value: None,
2075
2076                    byte_value: None,
2077
2078                    int16_value: None,
2079
2080                    uint_16_value: None,
2081
2082                    int32_value: None,
2083
2084                    int64_value: None,
2085
2086                    uint64_value: None,
2087
2088                    float32_value: None,
2089
2090                    float64_value: None,
2091
2092                    float128_value: None,
2093
2094                    char_value: None,
2095
2096                    wchar_value: None,
2097
2098                    enumerated_value: None,
2099
2100                    string8_value: None,
2101
2102                    string16_value: None,
2103
2104                    extended_value: None,
2105                }
2106            }
2107
2108            pub fn is_uint32_value(&self) -> bool {
2109                matches!(self._d, TK_UINT32)
2110            }
2111
2112            pub fn new_int64_value(value: i64) -> Self {
2113                Self {
2114                    _d: TK_INT64,
2115                    int64_value: Some(value),
2116
2117                    boolean_value: None,
2118
2119                    byte_value: None,
2120
2121                    int16_value: None,
2122
2123                    uint_16_value: None,
2124
2125                    int32_value: None,
2126
2127                    uint32_value: None,
2128
2129                    uint64_value: None,
2130
2131                    float32_value: None,
2132
2133                    float64_value: None,
2134
2135                    float128_value: None,
2136
2137                    char_value: None,
2138
2139                    wchar_value: None,
2140
2141                    enumerated_value: None,
2142
2143                    string8_value: None,
2144
2145                    string16_value: None,
2146
2147                    extended_value: None,
2148                }
2149            }
2150
2151            pub fn is_int64_value(&self) -> bool {
2152                matches!(self._d, TK_INT64)
2153            }
2154
2155            pub fn new_uint64_value(value: u64) -> Self {
2156                Self {
2157                    _d: TK_UINT64,
2158                    uint64_value: Some(value),
2159
2160                    boolean_value: None,
2161
2162                    byte_value: None,
2163
2164                    int16_value: None,
2165
2166                    uint_16_value: None,
2167
2168                    int32_value: None,
2169
2170                    uint32_value: None,
2171
2172                    int64_value: None,
2173
2174                    float32_value: None,
2175
2176                    float64_value: None,
2177
2178                    float128_value: None,
2179
2180                    char_value: None,
2181
2182                    wchar_value: None,
2183
2184                    enumerated_value: None,
2185
2186                    string8_value: None,
2187
2188                    string16_value: None,
2189
2190                    extended_value: None,
2191                }
2192            }
2193
2194            pub fn is_uint64_value(&self) -> bool {
2195                matches!(self._d, TK_UINT64)
2196            }
2197
2198            pub fn new_float32_value(value: f64) -> Self {
2199                Self {
2200                    _d: TK_FLOAT32,
2201                    float32_value: Some(value),
2202
2203                    boolean_value: None,
2204
2205                    byte_value: None,
2206
2207                    int16_value: None,
2208
2209                    uint_16_value: None,
2210
2211                    int32_value: None,
2212
2213                    uint32_value: None,
2214
2215                    int64_value: None,
2216
2217                    uint64_value: None,
2218
2219                    float64_value: None,
2220
2221                    float128_value: None,
2222
2223                    char_value: None,
2224
2225                    wchar_value: None,
2226
2227                    enumerated_value: None,
2228
2229                    string8_value: None,
2230
2231                    string16_value: None,
2232
2233                    extended_value: None,
2234                }
2235            }
2236
2237            pub fn is_float32_value(&self) -> bool {
2238                matches!(self._d, TK_FLOAT32)
2239            }
2240
2241            pub fn new_float64_value(value: f64) -> Self {
2242                Self {
2243                    _d: TK_FLOAT64,
2244                    float64_value: Some(value),
2245
2246                    boolean_value: None,
2247
2248                    byte_value: None,
2249
2250                    int16_value: None,
2251
2252                    uint_16_value: None,
2253
2254                    int32_value: None,
2255
2256                    uint32_value: None,
2257
2258                    int64_value: None,
2259
2260                    uint64_value: None,
2261
2262                    float32_value: None,
2263
2264                    float128_value: None,
2265
2266                    char_value: None,
2267
2268                    wchar_value: None,
2269
2270                    enumerated_value: None,
2271
2272                    string8_value: None,
2273
2274                    string16_value: None,
2275
2276                    extended_value: None,
2277                }
2278            }
2279
2280            pub fn is_float64_value(&self) -> bool {
2281                matches!(self._d, TK_FLOAT64)
2282            }
2283
2284            pub fn new_float128_value(value: f64) -> Self {
2285                Self {
2286                    _d: TK_FLOAT128,
2287                    float128_value: Some(value),
2288
2289                    boolean_value: None,
2290
2291                    byte_value: None,
2292
2293                    int16_value: None,
2294
2295                    uint_16_value: None,
2296
2297                    int32_value: None,
2298
2299                    uint32_value: None,
2300
2301                    int64_value: None,
2302
2303                    uint64_value: None,
2304
2305                    float32_value: None,
2306
2307                    float64_value: None,
2308
2309                    char_value: None,
2310
2311                    wchar_value: None,
2312
2313                    enumerated_value: None,
2314
2315                    string8_value: None,
2316
2317                    string16_value: None,
2318
2319                    extended_value: None,
2320                }
2321            }
2322
2323            pub fn is_float128_value(&self) -> bool {
2324                matches!(self._d, TK_FLOAT128)
2325            }
2326
2327            pub fn new_char_value(value: char) -> Self {
2328                Self {
2329                    _d: TK_CHAR8,
2330                    char_value: Some(value),
2331
2332                    boolean_value: None,
2333
2334                    byte_value: None,
2335
2336                    int16_value: None,
2337
2338                    uint_16_value: None,
2339
2340                    int32_value: None,
2341
2342                    uint32_value: None,
2343
2344                    int64_value: None,
2345
2346                    uint64_value: None,
2347
2348                    float32_value: None,
2349
2350                    float64_value: None,
2351
2352                    float128_value: None,
2353
2354                    wchar_value: None,
2355
2356                    enumerated_value: None,
2357
2358                    string8_value: None,
2359
2360                    string16_value: None,
2361
2362                    extended_value: None,
2363                }
2364            }
2365
2366            pub fn is_char_value(&self) -> bool {
2367                matches!(self._d, TK_CHAR8)
2368            }
2369
2370            pub fn new_wchar_value(value: char) -> Self {
2371                Self {
2372                    _d: TK_CHAR16,
2373                    wchar_value: Some(value),
2374
2375                    boolean_value: None,
2376
2377                    byte_value: None,
2378
2379                    int16_value: None,
2380
2381                    uint_16_value: None,
2382
2383                    int32_value: None,
2384
2385                    uint32_value: None,
2386
2387                    int64_value: None,
2388
2389                    uint64_value: None,
2390
2391                    float32_value: None,
2392
2393                    float64_value: None,
2394
2395                    float128_value: None,
2396
2397                    char_value: None,
2398
2399                    enumerated_value: None,
2400
2401                    string8_value: None,
2402
2403                    string16_value: None,
2404
2405                    extended_value: None,
2406                }
2407            }
2408
2409            pub fn is_wchar_value(&self) -> bool {
2410                matches!(self._d, TK_CHAR16)
2411            }
2412
2413            pub fn new_enumerated_value(value: i32) -> Self {
2414                Self {
2415                    _d: TK_ENUM,
2416                    enumerated_value: Some(value),
2417
2418                    boolean_value: None,
2419
2420                    byte_value: None,
2421
2422                    int16_value: None,
2423
2424                    uint_16_value: None,
2425
2426                    int32_value: None,
2427
2428                    uint32_value: None,
2429
2430                    int64_value: None,
2431
2432                    uint64_value: None,
2433
2434                    float32_value: None,
2435
2436                    float64_value: None,
2437
2438                    float128_value: None,
2439
2440                    char_value: None,
2441
2442                    wchar_value: None,
2443
2444                    string8_value: None,
2445
2446                    string16_value: None,
2447
2448                    extended_value: None,
2449                }
2450            }
2451
2452            pub fn is_enumerated_value(&self) -> bool {
2453                matches!(self._d, TK_ENUM)
2454            }
2455
2456            pub fn new_string8_value(value: String) -> Self {
2457                Self {
2458                    _d: TK_STRING8,
2459                    string8_value: Some(value),
2460
2461                    boolean_value: None,
2462
2463                    byte_value: None,
2464
2465                    int16_value: None,
2466
2467                    uint_16_value: None,
2468
2469                    int32_value: None,
2470
2471                    uint32_value: None,
2472
2473                    int64_value: None,
2474
2475                    uint64_value: None,
2476
2477                    float32_value: None,
2478
2479                    float64_value: None,
2480
2481                    float128_value: None,
2482
2483                    char_value: None,
2484
2485                    wchar_value: None,
2486
2487                    enumerated_value: None,
2488
2489                    string16_value: None,
2490
2491                    extended_value: None,
2492                }
2493            }
2494
2495            pub fn is_string8_value(&self) -> bool {
2496                matches!(self._d, TK_STRING8)
2497            }
2498
2499            pub fn new_string16_value(value: String) -> Self {
2500                Self {
2501                    _d: TK_STRING16,
2502                    string16_value: Some(value),
2503
2504                    boolean_value: None,
2505
2506                    byte_value: None,
2507
2508                    int16_value: None,
2509
2510                    uint_16_value: None,
2511
2512                    int32_value: None,
2513
2514                    uint32_value: None,
2515
2516                    int64_value: None,
2517
2518                    uint64_value: None,
2519
2520                    float32_value: None,
2521
2522                    float64_value: None,
2523
2524                    float128_value: None,
2525
2526                    char_value: None,
2527
2528                    wchar_value: None,
2529
2530                    enumerated_value: None,
2531
2532                    string8_value: None,
2533
2534                    extended_value: None,
2535                }
2536            }
2537
2538            pub fn is_string16_value(&self) -> bool {
2539                matches!(self._d, TK_STRING16)
2540            }
2541
2542            pub fn new_extended_value(value: Box<ExtendedAnnotationParameterValue>) -> Self {
2543                Self {
2544                    _d: u8::default(),
2545                    extended_value: Some(value),
2546
2547                    boolean_value: None,
2548
2549                    byte_value: None,
2550
2551                    int16_value: None,
2552
2553                    uint_16_value: None,
2554
2555                    int32_value: None,
2556
2557                    uint32_value: None,
2558
2559                    int64_value: None,
2560
2561                    uint64_value: None,
2562
2563                    float32_value: None,
2564
2565                    float64_value: None,
2566
2567                    float128_value: None,
2568
2569                    char_value: None,
2570
2571                    wchar_value: None,
2572
2573                    enumerated_value: None,
2574
2575                    string8_value: None,
2576
2577                    string16_value: None,
2578                }
2579            }
2580
2581            pub fn is_extended_value(&self) -> bool {
2582                matches!(self._d, _)
2583            }
2584
2585            pub fn tag(&self) -> &u8 {
2586                &self._d
2587            }
2588        }
2589
2590        impl xidl_typeobject::XidlTypeObject for AnnotationParameterValue {
2591            fn minimal_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
2592                xidl_typeobject::runtime::build_minimal_union(
2593                    0u32,
2594                    xidl_typeobject::runtime::type_identifier_primitive(
2595                        xidl_typeobject::DDS::XTypes::TK_BYTE,
2596                    ),
2597                    vec![
2598                        xidl_typeobject::runtime::UnionMemberDesc {
2599                            member_id: 12u32,
2600                            member_flags: 0u32,
2601                            type_id: xidl_typeobject::runtime::type_identifier_primitive(
2602                                xidl_typeobject::DDS::XTypes::TK_CHAR8,
2603                            ),
2604                            name: "char_value",
2605                            labels: vec![0i32],
2606                        },
2607                        xidl_typeobject::runtime::UnionMemberDesc {
2608                            member_id: 6u32,
2609                            member_flags: 0u32,
2610                            type_id: xidl_typeobject::runtime::type_identifier_primitive(
2611                                xidl_typeobject::DDS::XTypes::TK_UINT32,
2612                            ),
2613                            name: "uint32_value",
2614                            labels: vec![0i32],
2615                        },
2616                        xidl_typeobject::runtime::UnionMemberDesc {
2617                            member_id: 2u32,
2618                            member_flags: 0u32,
2619                            type_id: xidl_typeobject::runtime::type_identifier_primitive(
2620                                xidl_typeobject::DDS::XTypes::TK_BYTE,
2621                            ),
2622                            name: "byte_value",
2623                            labels: vec![0i32],
2624                        },
2625                        xidl_typeobject::runtime::UnionMemberDesc {
2626                            member_id: 7u32,
2627                            member_flags: 0u32,
2628                            type_id: xidl_typeobject::runtime::type_identifier_primitive(
2629                                xidl_typeobject::DDS::XTypes::TK_INT64,
2630                            ),
2631                            name: "int64_value",
2632                            labels: vec![0i32],
2633                        },
2634                        xidl_typeobject::runtime::UnionMemberDesc {
2635                            member_id: 8u32,
2636                            member_flags: 0u32,
2637                            type_id: xidl_typeobject::runtime::type_identifier_primitive(
2638                                xidl_typeobject::DDS::XTypes::TK_UINT64,
2639                            ),
2640                            name: "uint64_value",
2641                            labels: vec![0i32],
2642                        },
2643                        xidl_typeobject::runtime::UnionMemberDesc {
2644                            member_id: 4u32,
2645                            member_flags: 0u32,
2646                            type_id: xidl_typeobject::runtime::type_identifier_primitive(
2647                                xidl_typeobject::DDS::XTypes::TK_UINT16,
2648                            ),
2649                            name: "uint_16_value",
2650                            labels: vec![0i32],
2651                        },
2652                        xidl_typeobject::runtime::UnionMemberDesc {
2653                            member_id: 1u32,
2654                            member_flags: 0u32,
2655                            type_id: xidl_typeobject::runtime::type_identifier_primitive(
2656                                xidl_typeobject::DDS::XTypes::TK_BOOLEAN,
2657                            ),
2658                            name: "boolean_value",
2659                            labels: vec![0i32],
2660                        },
2661                        xidl_typeobject::runtime::UnionMemberDesc {
2662                            member_id: 5u32,
2663                            member_flags: 0u32,
2664                            type_id: xidl_typeobject::runtime::type_identifier_primitive(
2665                                xidl_typeobject::DDS::XTypes::TK_INT32,
2666                            ),
2667                            name: "int32_value",
2668                            labels: vec![0i32],
2669                        },
2670                        xidl_typeobject::runtime::UnionMemberDesc {
2671                            member_id: 13u32,
2672                            member_flags: 0u32,
2673                            type_id: xidl_typeobject::runtime::type_identifier_primitive(
2674                                xidl_typeobject::DDS::XTypes::TK_CHAR16,
2675                            ),
2676                            name: "wchar_value",
2677                            labels: vec![0i32],
2678                        },
2679                        xidl_typeobject::runtime::UnionMemberDesc {
2680                            member_id: 17u32,
2681                            member_flags: 64u32,
2682                            type_id: xidl_typeobject::runtime::type_identifier_for::<
2683                                ExtendedAnnotationParameterValue,
2684                            >(
2685                                xidl_typeobject::runtime::TypeEquivalence::Minimal
2686                            ),
2687                            name: "extended_value",
2688                            labels: vec![],
2689                        },
2690                        xidl_typeobject::runtime::UnionMemberDesc {
2691                            member_id: 16u32,
2692                            member_flags: 0u32,
2693                            type_id: xidl_typeobject::runtime::type_identifier_string(None, true),
2694                            name: "string16_value",
2695                            labels: vec![0i32],
2696                        },
2697                        xidl_typeobject::runtime::UnionMemberDesc {
2698                            member_id: 11u32,
2699                            member_flags: 0u32,
2700                            type_id: xidl_typeobject::runtime::type_identifier_primitive(
2701                                xidl_typeobject::DDS::XTypes::TK_FLOAT64,
2702                            ),
2703                            name: "float128_value",
2704                            labels: vec![0i32],
2705                        },
2706                        xidl_typeobject::runtime::UnionMemberDesc {
2707                            member_id: 9u32,
2708                            member_flags: 0u32,
2709                            type_id: xidl_typeobject::runtime::type_identifier_primitive(
2710                                xidl_typeobject::DDS::XTypes::TK_FLOAT64,
2711                            ),
2712                            name: "float32_value",
2713                            labels: vec![0i32],
2714                        },
2715                        xidl_typeobject::runtime::UnionMemberDesc {
2716                            member_id: 14u32,
2717                            member_flags: 0u32,
2718                            type_id: xidl_typeobject::runtime::type_identifier_primitive(
2719                                xidl_typeobject::DDS::XTypes::TK_INT32,
2720                            ),
2721                            name: "enumerated_value",
2722                            labels: vec![0i32],
2723                        },
2724                        xidl_typeobject::runtime::UnionMemberDesc {
2725                            member_id: 10u32,
2726                            member_flags: 0u32,
2727                            type_id: xidl_typeobject::runtime::type_identifier_primitive(
2728                                xidl_typeobject::DDS::XTypes::TK_FLOAT64,
2729                            ),
2730                            name: "float64_value",
2731                            labels: vec![0i32],
2732                        },
2733                        xidl_typeobject::runtime::UnionMemberDesc {
2734                            member_id: 15u32,
2735                            member_flags: 0u32,
2736                            type_id: xidl_typeobject::runtime::type_identifier_string(None, false),
2737                            name: "string8_value",
2738                            labels: vec![0i32],
2739                        },
2740                        xidl_typeobject::runtime::UnionMemberDesc {
2741                            member_id: 3u32,
2742                            member_flags: 0u32,
2743                            type_id: xidl_typeobject::runtime::type_identifier_primitive(
2744                                xidl_typeobject::DDS::XTypes::TK_INT16,
2745                            ),
2746                            name: "int16_value",
2747                            labels: vec![0i32],
2748                        },
2749                    ],
2750                )
2751            }
2752
2753            fn complete_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
2754                xidl_typeobject::runtime::build_complete_union(
2755                    "DDS::XTypes::AnnotationParameterValue",
2756                    0u32,
2757                    xidl_typeobject::runtime::type_identifier_primitive(
2758                        xidl_typeobject::DDS::XTypes::TK_BYTE,
2759                    ),
2760                    vec![
2761                        xidl_typeobject::runtime::UnionMemberDesc {
2762                            member_id: 12u32,
2763                            member_flags: 0u32,
2764                            type_id: xidl_typeobject::runtime::type_identifier_primitive(
2765                                xidl_typeobject::DDS::XTypes::TK_CHAR8,
2766                            ),
2767                            name: "char_value",
2768                            labels: vec![0i32],
2769                        },
2770                        xidl_typeobject::runtime::UnionMemberDesc {
2771                            member_id: 6u32,
2772                            member_flags: 0u32,
2773                            type_id: xidl_typeobject::runtime::type_identifier_primitive(
2774                                xidl_typeobject::DDS::XTypes::TK_UINT32,
2775                            ),
2776                            name: "uint32_value",
2777                            labels: vec![0i32],
2778                        },
2779                        xidl_typeobject::runtime::UnionMemberDesc {
2780                            member_id: 2u32,
2781                            member_flags: 0u32,
2782                            type_id: xidl_typeobject::runtime::type_identifier_primitive(
2783                                xidl_typeobject::DDS::XTypes::TK_BYTE,
2784                            ),
2785                            name: "byte_value",
2786                            labels: vec![0i32],
2787                        },
2788                        xidl_typeobject::runtime::UnionMemberDesc {
2789                            member_id: 7u32,
2790                            member_flags: 0u32,
2791                            type_id: xidl_typeobject::runtime::type_identifier_primitive(
2792                                xidl_typeobject::DDS::XTypes::TK_INT64,
2793                            ),
2794                            name: "int64_value",
2795                            labels: vec![0i32],
2796                        },
2797                        xidl_typeobject::runtime::UnionMemberDesc {
2798                            member_id: 8u32,
2799                            member_flags: 0u32,
2800                            type_id: xidl_typeobject::runtime::type_identifier_primitive(
2801                                xidl_typeobject::DDS::XTypes::TK_UINT64,
2802                            ),
2803                            name: "uint64_value",
2804                            labels: vec![0i32],
2805                        },
2806                        xidl_typeobject::runtime::UnionMemberDesc {
2807                            member_id: 4u32,
2808                            member_flags: 0u32,
2809                            type_id: xidl_typeobject::runtime::type_identifier_primitive(
2810                                xidl_typeobject::DDS::XTypes::TK_UINT16,
2811                            ),
2812                            name: "uint_16_value",
2813                            labels: vec![0i32],
2814                        },
2815                        xidl_typeobject::runtime::UnionMemberDesc {
2816                            member_id: 1u32,
2817                            member_flags: 0u32,
2818                            type_id: xidl_typeobject::runtime::type_identifier_primitive(
2819                                xidl_typeobject::DDS::XTypes::TK_BOOLEAN,
2820                            ),
2821                            name: "boolean_value",
2822                            labels: vec![0i32],
2823                        },
2824                        xidl_typeobject::runtime::UnionMemberDesc {
2825                            member_id: 5u32,
2826                            member_flags: 0u32,
2827                            type_id: xidl_typeobject::runtime::type_identifier_primitive(
2828                                xidl_typeobject::DDS::XTypes::TK_INT32,
2829                            ),
2830                            name: "int32_value",
2831                            labels: vec![0i32],
2832                        },
2833                        xidl_typeobject::runtime::UnionMemberDesc {
2834                            member_id: 13u32,
2835                            member_flags: 0u32,
2836                            type_id: xidl_typeobject::runtime::type_identifier_primitive(
2837                                xidl_typeobject::DDS::XTypes::TK_CHAR16,
2838                            ),
2839                            name: "wchar_value",
2840                            labels: vec![0i32],
2841                        },
2842                        xidl_typeobject::runtime::UnionMemberDesc {
2843                            member_id: 17u32,
2844                            member_flags: 64u32,
2845                            type_id: xidl_typeobject::runtime::type_identifier_for::<
2846                                ExtendedAnnotationParameterValue,
2847                            >(
2848                                xidl_typeobject::runtime::TypeEquivalence::Complete
2849                            ),
2850                            name: "extended_value",
2851                            labels: vec![],
2852                        },
2853                        xidl_typeobject::runtime::UnionMemberDesc {
2854                            member_id: 16u32,
2855                            member_flags: 0u32,
2856                            type_id: xidl_typeobject::runtime::type_identifier_string(None, true),
2857                            name: "string16_value",
2858                            labels: vec![0i32],
2859                        },
2860                        xidl_typeobject::runtime::UnionMemberDesc {
2861                            member_id: 11u32,
2862                            member_flags: 0u32,
2863                            type_id: xidl_typeobject::runtime::type_identifier_primitive(
2864                                xidl_typeobject::DDS::XTypes::TK_FLOAT64,
2865                            ),
2866                            name: "float128_value",
2867                            labels: vec![0i32],
2868                        },
2869                        xidl_typeobject::runtime::UnionMemberDesc {
2870                            member_id: 9u32,
2871                            member_flags: 0u32,
2872                            type_id: xidl_typeobject::runtime::type_identifier_primitive(
2873                                xidl_typeobject::DDS::XTypes::TK_FLOAT64,
2874                            ),
2875                            name: "float32_value",
2876                            labels: vec![0i32],
2877                        },
2878                        xidl_typeobject::runtime::UnionMemberDesc {
2879                            member_id: 14u32,
2880                            member_flags: 0u32,
2881                            type_id: xidl_typeobject::runtime::type_identifier_primitive(
2882                                xidl_typeobject::DDS::XTypes::TK_INT32,
2883                            ),
2884                            name: "enumerated_value",
2885                            labels: vec![0i32],
2886                        },
2887                        xidl_typeobject::runtime::UnionMemberDesc {
2888                            member_id: 10u32,
2889                            member_flags: 0u32,
2890                            type_id: xidl_typeobject::runtime::type_identifier_primitive(
2891                                xidl_typeobject::DDS::XTypes::TK_FLOAT64,
2892                            ),
2893                            name: "float64_value",
2894                            labels: vec![0i32],
2895                        },
2896                        xidl_typeobject::runtime::UnionMemberDesc {
2897                            member_id: 15u32,
2898                            member_flags: 0u32,
2899                            type_id: xidl_typeobject::runtime::type_identifier_string(None, false),
2900                            name: "string8_value",
2901                            labels: vec![0i32],
2902                        },
2903                        xidl_typeobject::runtime::UnionMemberDesc {
2904                            member_id: 3u32,
2905                            member_flags: 0u32,
2906                            type_id: xidl_typeobject::runtime::type_identifier_primitive(
2907                                xidl_typeobject::DDS::XTypes::TK_INT16,
2908                            ),
2909                            name: "int16_value",
2910                            labels: vec![0i32],
2911                        },
2912                    ],
2913                )
2914            }
2915        }
2916        pub struct AppliedAnnotationParameter {
2917            pub paramname_hash: Box<NameHash>,
2918
2919            pub value: Box<AnnotationParameterValue>,
2920        }
2921
2922        impl AppliedAnnotationParameter {}
2923
2924        impl xidl_typeobject::XidlTypeObject for AppliedAnnotationParameter {
2925            fn minimal_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
2926                xidl_typeobject::runtime::build_minimal_struct(
2927                    0u32,
2928                    xidl_typeobject::runtime::type_identifier_none(),
2929                    vec![
2930                        xidl_typeobject::runtime::StructMemberDesc {
2931                            member_id: 1u32,
2932                            member_flags: 0u32,
2933                            type_id: xidl_typeobject::runtime::type_identifier_for::<NameHash>(
2934                                xidl_typeobject::runtime::TypeEquivalence::Minimal,
2935                            ),
2936                            name: "paramname_hash",
2937                        },
2938                        xidl_typeobject::runtime::StructMemberDesc {
2939                            member_id: 2u32,
2940                            member_flags: 0u32,
2941                            type_id: xidl_typeobject::runtime::type_identifier_for::<
2942                                AnnotationParameterValue,
2943                            >(
2944                                xidl_typeobject::runtime::TypeEquivalence::Minimal
2945                            ),
2946                            name: "value",
2947                        },
2948                    ],
2949                )
2950            }
2951
2952            fn complete_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
2953                xidl_typeobject::runtime::build_complete_struct(
2954                    "DDS::XTypes::AppliedAnnotationParameter",
2955                    0u32,
2956                    xidl_typeobject::runtime::type_identifier_none(),
2957                    vec![
2958                        xidl_typeobject::runtime::StructMemberDesc {
2959                            member_id: 1u32,
2960                            member_flags: 0u32,
2961                            type_id: xidl_typeobject::runtime::type_identifier_for::<NameHash>(
2962                                xidl_typeobject::runtime::TypeEquivalence::Complete,
2963                            ),
2964                            name: "paramname_hash",
2965                        },
2966                        xidl_typeobject::runtime::StructMemberDesc {
2967                            member_id: 2u32,
2968                            member_flags: 0u32,
2969                            type_id: xidl_typeobject::runtime::type_identifier_for::<
2970                                AnnotationParameterValue,
2971                            >(
2972                                xidl_typeobject::runtime::TypeEquivalence::Complete
2973                            ),
2974                            name: "value",
2975                        },
2976                    ],
2977                )
2978            }
2979        }
2980        pub type AppliedAnnotationParameterSeq = Vec<AppliedAnnotationParameter>;
2981        pub struct AppliedAnnotation {
2982            pub annotation_typeid: Box<TypeIdentifier>,
2983
2984            pub param_seq: Box<AppliedAnnotationParameterSeq>,
2985        }
2986
2987        impl AppliedAnnotation {}
2988
2989        impl xidl_typeobject::XidlTypeObject for AppliedAnnotation {
2990            fn minimal_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
2991                xidl_typeobject::runtime::build_minimal_struct(
2992                    0u32,
2993                    xidl_typeobject::runtime::type_identifier_none(),
2994                    vec![
2995                        xidl_typeobject::runtime::StructMemberDesc {
2996                            member_id: 1u32,
2997                            member_flags: 0u32,
2998                            type_id: xidl_typeobject::runtime::type_identifier_for::<TypeIdentifier>(
2999                                xidl_typeobject::runtime::TypeEquivalence::Minimal,
3000                            ),
3001                            name: "annotation_typeid",
3002                        },
3003                        xidl_typeobject::runtime::StructMemberDesc {
3004                            member_id: 2u32,
3005                            member_flags: 0u32,
3006                            type_id: xidl_typeobject::runtime::type_identifier_for::<
3007                                AppliedAnnotationParameterSeq,
3008                            >(
3009                                xidl_typeobject::runtime::TypeEquivalence::Minimal
3010                            ),
3011                            name: "param_seq",
3012                        },
3013                    ],
3014                )
3015            }
3016
3017            fn complete_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
3018                xidl_typeobject::runtime::build_complete_struct(
3019                    "DDS::XTypes::AppliedAnnotation",
3020                    0u32,
3021                    xidl_typeobject::runtime::type_identifier_none(),
3022                    vec![
3023                        xidl_typeobject::runtime::StructMemberDesc {
3024                            member_id: 1u32,
3025                            member_flags: 0u32,
3026                            type_id: xidl_typeobject::runtime::type_identifier_for::<TypeIdentifier>(
3027                                xidl_typeobject::runtime::TypeEquivalence::Complete,
3028                            ),
3029                            name: "annotation_typeid",
3030                        },
3031                        xidl_typeobject::runtime::StructMemberDesc {
3032                            member_id: 2u32,
3033                            member_flags: 0u32,
3034                            type_id: xidl_typeobject::runtime::type_identifier_for::<
3035                                AppliedAnnotationParameterSeq,
3036                            >(
3037                                xidl_typeobject::runtime::TypeEquivalence::Complete
3038                            ),
3039                            name: "param_seq",
3040                        },
3041                    ],
3042                )
3043            }
3044        }
3045        pub type AppliedAnnotationSeq = Vec<AppliedAnnotation>;
3046        pub struct AppliedVerbatimAnnotation {
3047            pub placement: String,
3048
3049            pub language: String,
3050
3051            pub text: String,
3052        }
3053
3054        impl AppliedVerbatimAnnotation {}
3055
3056        impl xidl_typeobject::XidlTypeObject for AppliedVerbatimAnnotation {
3057            fn minimal_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
3058                xidl_typeobject::runtime::build_minimal_struct(
3059                    0u32,
3060                    xidl_typeobject::runtime::type_identifier_none(),
3061                    vec![
3062                        xidl_typeobject::runtime::StructMemberDesc {
3063                            member_id: 1u32,
3064                            member_flags: 0u32,
3065                            type_id: xidl_typeobject::runtime::type_identifier_string(
3066                                Some(32u32),
3067                                false,
3068                            ),
3069                            name: "placement",
3070                        },
3071                        xidl_typeobject::runtime::StructMemberDesc {
3072                            member_id: 2u32,
3073                            member_flags: 0u32,
3074                            type_id: xidl_typeobject::runtime::type_identifier_string(
3075                                Some(32u32),
3076                                false,
3077                            ),
3078                            name: "language",
3079                        },
3080                        xidl_typeobject::runtime::StructMemberDesc {
3081                            member_id: 3u32,
3082                            member_flags: 0u32,
3083                            type_id: xidl_typeobject::runtime::type_identifier_string(None, false),
3084                            name: "text",
3085                        },
3086                    ],
3087                )
3088            }
3089
3090            fn complete_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
3091                xidl_typeobject::runtime::build_complete_struct(
3092                    "DDS::XTypes::AppliedVerbatimAnnotation",
3093                    0u32,
3094                    xidl_typeobject::runtime::type_identifier_none(),
3095                    vec![
3096                        xidl_typeobject::runtime::StructMemberDesc {
3097                            member_id: 1u32,
3098                            member_flags: 0u32,
3099                            type_id: xidl_typeobject::runtime::type_identifier_string(
3100                                Some(32u32),
3101                                false,
3102                            ),
3103                            name: "placement",
3104                        },
3105                        xidl_typeobject::runtime::StructMemberDesc {
3106                            member_id: 2u32,
3107                            member_flags: 0u32,
3108                            type_id: xidl_typeobject::runtime::type_identifier_string(
3109                                Some(32u32),
3110                                false,
3111                            ),
3112                            name: "language",
3113                        },
3114                        xidl_typeobject::runtime::StructMemberDesc {
3115                            member_id: 3u32,
3116                            member_flags: 0u32,
3117                            type_id: xidl_typeobject::runtime::type_identifier_string(None, false),
3118                            name: "text",
3119                        },
3120                    ],
3121                )
3122            }
3123        }
3124        pub struct AppliedBuiltinMemberAnnotations {
3125            pub unit: String,
3126
3127            pub min: Box<AnnotationParameterValue>,
3128
3129            pub max: Box<AnnotationParameterValue>,
3130
3131            pub hash_id: String,
3132        }
3133
3134        impl AppliedBuiltinMemberAnnotations {}
3135
3136        impl xidl_typeobject::XidlTypeObject for AppliedBuiltinMemberAnnotations {
3137            fn minimal_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
3138                xidl_typeobject::runtime::build_minimal_struct(
3139                    0u32,
3140                    xidl_typeobject::runtime::type_identifier_none(),
3141                    vec![
3142                        xidl_typeobject::runtime::StructMemberDesc {
3143                            member_id: 1u32,
3144                            member_flags: 0u32,
3145                            type_id: xidl_typeobject::runtime::type_identifier_string(None, false),
3146                            name: "unit",
3147                        },
3148                        xidl_typeobject::runtime::StructMemberDesc {
3149                            member_id: 2u32,
3150                            member_flags: 0u32,
3151                            type_id: xidl_typeobject::runtime::type_identifier_for::<
3152                                AnnotationParameterValue,
3153                            >(
3154                                xidl_typeobject::runtime::TypeEquivalence::Minimal
3155                            ),
3156                            name: "min",
3157                        },
3158                        xidl_typeobject::runtime::StructMemberDesc {
3159                            member_id: 3u32,
3160                            member_flags: 0u32,
3161                            type_id: xidl_typeobject::runtime::type_identifier_for::<
3162                                AnnotationParameterValue,
3163                            >(
3164                                xidl_typeobject::runtime::TypeEquivalence::Minimal
3165                            ),
3166                            name: "max",
3167                        },
3168                        xidl_typeobject::runtime::StructMemberDesc {
3169                            member_id: 4u32,
3170                            member_flags: 0u32,
3171                            type_id: xidl_typeobject::runtime::type_identifier_string(None, false),
3172                            name: "hash_id",
3173                        },
3174                    ],
3175                )
3176            }
3177
3178            fn complete_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
3179                xidl_typeobject::runtime::build_complete_struct(
3180                    "DDS::XTypes::AppliedBuiltinMemberAnnotations",
3181                    0u32,
3182                    xidl_typeobject::runtime::type_identifier_none(),
3183                    vec![
3184                        xidl_typeobject::runtime::StructMemberDesc {
3185                            member_id: 1u32,
3186                            member_flags: 0u32,
3187                            type_id: xidl_typeobject::runtime::type_identifier_string(None, false),
3188                            name: "unit",
3189                        },
3190                        xidl_typeobject::runtime::StructMemberDesc {
3191                            member_id: 2u32,
3192                            member_flags: 0u32,
3193                            type_id: xidl_typeobject::runtime::type_identifier_for::<
3194                                AnnotationParameterValue,
3195                            >(
3196                                xidl_typeobject::runtime::TypeEquivalence::Complete
3197                            ),
3198                            name: "min",
3199                        },
3200                        xidl_typeobject::runtime::StructMemberDesc {
3201                            member_id: 3u32,
3202                            member_flags: 0u32,
3203                            type_id: xidl_typeobject::runtime::type_identifier_for::<
3204                                AnnotationParameterValue,
3205                            >(
3206                                xidl_typeobject::runtime::TypeEquivalence::Complete
3207                            ),
3208                            name: "max",
3209                        },
3210                        xidl_typeobject::runtime::StructMemberDesc {
3211                            member_id: 4u32,
3212                            member_flags: 0u32,
3213                            type_id: xidl_typeobject::runtime::type_identifier_string(None, false),
3214                            name: "hash_id",
3215                        },
3216                    ],
3217                )
3218            }
3219        }
3220        pub struct CommonStructMember {
3221            pub member_id: Box<MemberId>,
3222
3223            pub member_flags: Box<StructMemberFlag>,
3224
3225            pub member_type_id: Box<TypeIdentifier>,
3226        }
3227
3228        impl CommonStructMember {}
3229
3230        impl xidl_typeobject::XidlTypeObject for CommonStructMember {
3231            fn minimal_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
3232                xidl_typeobject::runtime::build_minimal_struct(
3233                    0u32,
3234                    xidl_typeobject::runtime::type_identifier_none(),
3235                    vec![
3236                        xidl_typeobject::runtime::StructMemberDesc {
3237                            member_id: 1u32,
3238                            member_flags: 0u32,
3239                            type_id: xidl_typeobject::runtime::type_identifier_for::<MemberId>(
3240                                xidl_typeobject::runtime::TypeEquivalence::Minimal,
3241                            ),
3242                            name: "member_id",
3243                        },
3244                        xidl_typeobject::runtime::StructMemberDesc {
3245                            member_id: 2u32,
3246                            member_flags: 0u32,
3247                            type_id: xidl_typeobject::runtime::type_identifier_for::<
3248                                StructMemberFlag,
3249                            >(
3250                                xidl_typeobject::runtime::TypeEquivalence::Minimal
3251                            ),
3252                            name: "member_flags",
3253                        },
3254                        xidl_typeobject::runtime::StructMemberDesc {
3255                            member_id: 3u32,
3256                            member_flags: 0u32,
3257                            type_id: xidl_typeobject::runtime::type_identifier_for::<TypeIdentifier>(
3258                                xidl_typeobject::runtime::TypeEquivalence::Minimal,
3259                            ),
3260                            name: "member_type_id",
3261                        },
3262                    ],
3263                )
3264            }
3265
3266            fn complete_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
3267                xidl_typeobject::runtime::build_complete_struct(
3268                    "DDS::XTypes::CommonStructMember",
3269                    0u32,
3270                    xidl_typeobject::runtime::type_identifier_none(),
3271                    vec![
3272                        xidl_typeobject::runtime::StructMemberDesc {
3273                            member_id: 1u32,
3274                            member_flags: 0u32,
3275                            type_id: xidl_typeobject::runtime::type_identifier_for::<MemberId>(
3276                                xidl_typeobject::runtime::TypeEquivalence::Complete,
3277                            ),
3278                            name: "member_id",
3279                        },
3280                        xidl_typeobject::runtime::StructMemberDesc {
3281                            member_id: 2u32,
3282                            member_flags: 0u32,
3283                            type_id: xidl_typeobject::runtime::type_identifier_for::<
3284                                StructMemberFlag,
3285                            >(
3286                                xidl_typeobject::runtime::TypeEquivalence::Complete
3287                            ),
3288                            name: "member_flags",
3289                        },
3290                        xidl_typeobject::runtime::StructMemberDesc {
3291                            member_id: 3u32,
3292                            member_flags: 0u32,
3293                            type_id: xidl_typeobject::runtime::type_identifier_for::<TypeIdentifier>(
3294                                xidl_typeobject::runtime::TypeEquivalence::Complete,
3295                            ),
3296                            name: "member_type_id",
3297                        },
3298                    ],
3299                )
3300            }
3301        }
3302        pub struct CompleteMemberDetail {
3303            pub name: Box<MemberName>,
3304
3305            pub ann_builtin: Box<AppliedBuiltinMemberAnnotations>,
3306
3307            pub ann_custom: Box<AppliedAnnotationSeq>,
3308        }
3309
3310        impl CompleteMemberDetail {}
3311
3312        impl xidl_typeobject::XidlTypeObject for CompleteMemberDetail {
3313            fn minimal_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
3314                xidl_typeobject::runtime::build_minimal_struct(
3315                    0u32,
3316                    xidl_typeobject::runtime::type_identifier_none(),
3317                    vec![
3318                        xidl_typeobject::runtime::StructMemberDesc {
3319                            member_id: 1u32,
3320                            member_flags: 0u32,
3321                            type_id: xidl_typeobject::runtime::type_identifier_for::<MemberName>(
3322                                xidl_typeobject::runtime::TypeEquivalence::Minimal,
3323                            ),
3324                            name: "name",
3325                        },
3326                        xidl_typeobject::runtime::StructMemberDesc {
3327                            member_id: 2u32,
3328                            member_flags: 0u32,
3329                            type_id: xidl_typeobject::runtime::type_identifier_for::<
3330                                AppliedBuiltinMemberAnnotations,
3331                            >(
3332                                xidl_typeobject::runtime::TypeEquivalence::Minimal
3333                            ),
3334                            name: "ann_builtin",
3335                        },
3336                        xidl_typeobject::runtime::StructMemberDesc {
3337                            member_id: 3u32,
3338                            member_flags: 0u32,
3339                            type_id: xidl_typeobject::runtime::type_identifier_for::<
3340                                AppliedAnnotationSeq,
3341                            >(
3342                                xidl_typeobject::runtime::TypeEquivalence::Minimal
3343                            ),
3344                            name: "ann_custom",
3345                        },
3346                    ],
3347                )
3348            }
3349
3350            fn complete_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
3351                xidl_typeobject::runtime::build_complete_struct(
3352                    "DDS::XTypes::CompleteMemberDetail",
3353                    0u32,
3354                    xidl_typeobject::runtime::type_identifier_none(),
3355                    vec![
3356                        xidl_typeobject::runtime::StructMemberDesc {
3357                            member_id: 1u32,
3358                            member_flags: 0u32,
3359                            type_id: xidl_typeobject::runtime::type_identifier_for::<MemberName>(
3360                                xidl_typeobject::runtime::TypeEquivalence::Complete,
3361                            ),
3362                            name: "name",
3363                        },
3364                        xidl_typeobject::runtime::StructMemberDesc {
3365                            member_id: 2u32,
3366                            member_flags: 0u32,
3367                            type_id: xidl_typeobject::runtime::type_identifier_for::<
3368                                AppliedBuiltinMemberAnnotations,
3369                            >(
3370                                xidl_typeobject::runtime::TypeEquivalence::Complete
3371                            ),
3372                            name: "ann_builtin",
3373                        },
3374                        xidl_typeobject::runtime::StructMemberDesc {
3375                            member_id: 3u32,
3376                            member_flags: 0u32,
3377                            type_id: xidl_typeobject::runtime::type_identifier_for::<
3378                                AppliedAnnotationSeq,
3379                            >(
3380                                xidl_typeobject::runtime::TypeEquivalence::Complete
3381                            ),
3382                            name: "ann_custom",
3383                        },
3384                    ],
3385                )
3386            }
3387        }
3388        pub struct MinimalMemberDetail {
3389            pub name_hash: Box<NameHash>,
3390        }
3391
3392        impl MinimalMemberDetail {}
3393
3394        impl xidl_typeobject::XidlTypeObject for MinimalMemberDetail {
3395            fn minimal_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
3396                xidl_typeobject::runtime::build_minimal_struct(
3397                    0u32,
3398                    xidl_typeobject::runtime::type_identifier_none(),
3399                    vec![xidl_typeobject::runtime::StructMemberDesc {
3400                        member_id: 1u32,
3401                        member_flags: 0u32,
3402                        type_id: xidl_typeobject::runtime::type_identifier_for::<NameHash>(
3403                            xidl_typeobject::runtime::TypeEquivalence::Minimal,
3404                        ),
3405                        name: "name_hash",
3406                    }],
3407                )
3408            }
3409
3410            fn complete_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
3411                xidl_typeobject::runtime::build_complete_struct(
3412                    "DDS::XTypes::MinimalMemberDetail",
3413                    0u32,
3414                    xidl_typeobject::runtime::type_identifier_none(),
3415                    vec![xidl_typeobject::runtime::StructMemberDesc {
3416                        member_id: 1u32,
3417                        member_flags: 0u32,
3418                        type_id: xidl_typeobject::runtime::type_identifier_for::<NameHash>(
3419                            xidl_typeobject::runtime::TypeEquivalence::Complete,
3420                        ),
3421                        name: "name_hash",
3422                    }],
3423                )
3424            }
3425        }
3426        pub struct CompleteStructMember {
3427            pub common: Box<CommonStructMember>,
3428
3429            pub detail: Box<CompleteMemberDetail>,
3430        }
3431
3432        impl CompleteStructMember {}
3433
3434        impl xidl_typeobject::XidlTypeObject for CompleteStructMember {
3435            fn minimal_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
3436                xidl_typeobject::runtime::build_minimal_struct(
3437                    0u32,
3438                    xidl_typeobject::runtime::type_identifier_none(),
3439                    vec![
3440                        xidl_typeobject::runtime::StructMemberDesc {
3441                            member_id: 1u32,
3442                            member_flags: 0u32,
3443                            type_id: xidl_typeobject::runtime::type_identifier_for::<
3444                                CommonStructMember,
3445                            >(
3446                                xidl_typeobject::runtime::TypeEquivalence::Minimal
3447                            ),
3448                            name: "common",
3449                        },
3450                        xidl_typeobject::runtime::StructMemberDesc {
3451                            member_id: 2u32,
3452                            member_flags: 0u32,
3453                            type_id: xidl_typeobject::runtime::type_identifier_for::<
3454                                CompleteMemberDetail,
3455                            >(
3456                                xidl_typeobject::runtime::TypeEquivalence::Minimal
3457                            ),
3458                            name: "detail",
3459                        },
3460                    ],
3461                )
3462            }
3463
3464            fn complete_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
3465                xidl_typeobject::runtime::build_complete_struct(
3466                    "DDS::XTypes::CompleteStructMember",
3467                    0u32,
3468                    xidl_typeobject::runtime::type_identifier_none(),
3469                    vec![
3470                        xidl_typeobject::runtime::StructMemberDesc {
3471                            member_id: 1u32,
3472                            member_flags: 0u32,
3473                            type_id: xidl_typeobject::runtime::type_identifier_for::<
3474                                CommonStructMember,
3475                            >(
3476                                xidl_typeobject::runtime::TypeEquivalence::Complete
3477                            ),
3478                            name: "common",
3479                        },
3480                        xidl_typeobject::runtime::StructMemberDesc {
3481                            member_id: 2u32,
3482                            member_flags: 0u32,
3483                            type_id: xidl_typeobject::runtime::type_identifier_for::<
3484                                CompleteMemberDetail,
3485                            >(
3486                                xidl_typeobject::runtime::TypeEquivalence::Complete
3487                            ),
3488                            name: "detail",
3489                        },
3490                    ],
3491                )
3492            }
3493        }
3494        pub type CompleteStructMemberSeq = Vec<CompleteStructMember>;
3495        pub struct MinimalStructMember {
3496            pub common: Box<CommonStructMember>,
3497
3498            pub detail: Box<MinimalMemberDetail>,
3499        }
3500
3501        impl MinimalStructMember {}
3502
3503        impl xidl_typeobject::XidlTypeObject for MinimalStructMember {
3504            fn minimal_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
3505                xidl_typeobject::runtime::build_minimal_struct(
3506                    0u32,
3507                    xidl_typeobject::runtime::type_identifier_none(),
3508                    vec![
3509                        xidl_typeobject::runtime::StructMemberDesc {
3510                            member_id: 1u32,
3511                            member_flags: 0u32,
3512                            type_id: xidl_typeobject::runtime::type_identifier_for::<
3513                                CommonStructMember,
3514                            >(
3515                                xidl_typeobject::runtime::TypeEquivalence::Minimal
3516                            ),
3517                            name: "common",
3518                        },
3519                        xidl_typeobject::runtime::StructMemberDesc {
3520                            member_id: 2u32,
3521                            member_flags: 0u32,
3522                            type_id: xidl_typeobject::runtime::type_identifier_for::<
3523                                MinimalMemberDetail,
3524                            >(
3525                                xidl_typeobject::runtime::TypeEquivalence::Minimal
3526                            ),
3527                            name: "detail",
3528                        },
3529                    ],
3530                )
3531            }
3532
3533            fn complete_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
3534                xidl_typeobject::runtime::build_complete_struct(
3535                    "DDS::XTypes::MinimalStructMember",
3536                    0u32,
3537                    xidl_typeobject::runtime::type_identifier_none(),
3538                    vec![
3539                        xidl_typeobject::runtime::StructMemberDesc {
3540                            member_id: 1u32,
3541                            member_flags: 0u32,
3542                            type_id: xidl_typeobject::runtime::type_identifier_for::<
3543                                CommonStructMember,
3544                            >(
3545                                xidl_typeobject::runtime::TypeEquivalence::Complete
3546                            ),
3547                            name: "common",
3548                        },
3549                        xidl_typeobject::runtime::StructMemberDesc {
3550                            member_id: 2u32,
3551                            member_flags: 0u32,
3552                            type_id: xidl_typeobject::runtime::type_identifier_for::<
3553                                MinimalMemberDetail,
3554                            >(
3555                                xidl_typeobject::runtime::TypeEquivalence::Complete
3556                            ),
3557                            name: "detail",
3558                        },
3559                    ],
3560                )
3561            }
3562        }
3563        pub type MinimalStructMemberSeq = Vec<MinimalStructMember>;
3564        pub struct AppliedBuiltinTypeAnnotations {
3565            pub verbatim: Box<AppliedVerbatimAnnotation>,
3566        }
3567
3568        impl AppliedBuiltinTypeAnnotations {}
3569
3570        impl xidl_typeobject::XidlTypeObject for AppliedBuiltinTypeAnnotations {
3571            fn minimal_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
3572                xidl_typeobject::runtime::build_minimal_struct(
3573                    0u32,
3574                    xidl_typeobject::runtime::type_identifier_none(),
3575                    vec![xidl_typeobject::runtime::StructMemberDesc {
3576                        member_id: 1u32,
3577                        member_flags: 0u32,
3578                        type_id: xidl_typeobject::runtime::type_identifier_for::<
3579                            AppliedVerbatimAnnotation,
3580                        >(
3581                            xidl_typeobject::runtime::TypeEquivalence::Minimal
3582                        ),
3583                        name: "verbatim",
3584                    }],
3585                )
3586            }
3587
3588            fn complete_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
3589                xidl_typeobject::runtime::build_complete_struct(
3590                    "DDS::XTypes::AppliedBuiltinTypeAnnotations",
3591                    0u32,
3592                    xidl_typeobject::runtime::type_identifier_none(),
3593                    vec![xidl_typeobject::runtime::StructMemberDesc {
3594                        member_id: 1u32,
3595                        member_flags: 0u32,
3596                        type_id: xidl_typeobject::runtime::type_identifier_for::<
3597                            AppliedVerbatimAnnotation,
3598                        >(
3599                            xidl_typeobject::runtime::TypeEquivalence::Complete
3600                        ),
3601                        name: "verbatim",
3602                    }],
3603                )
3604            }
3605        }
3606        pub struct MinimalTypeDetail {}
3607
3608        impl MinimalTypeDetail {}
3609
3610        impl xidl_typeobject::XidlTypeObject for MinimalTypeDetail {
3611            fn minimal_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
3612                xidl_typeobject::runtime::build_minimal_struct(
3613                    0u32,
3614                    xidl_typeobject::runtime::type_identifier_none(),
3615                    vec![],
3616                )
3617            }
3618
3619            fn complete_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
3620                xidl_typeobject::runtime::build_complete_struct(
3621                    "DDS::XTypes::MinimalTypeDetail",
3622                    0u32,
3623                    xidl_typeobject::runtime::type_identifier_none(),
3624                    vec![],
3625                )
3626            }
3627        }
3628        pub struct CompleteTypeDetail {
3629            pub ann_builtin: Box<AppliedBuiltinTypeAnnotations>,
3630
3631            pub ann_custom: Box<AppliedAnnotationSeq>,
3632
3633            pub type_name: Box<QualifiedTypeName>,
3634        }
3635
3636        impl CompleteTypeDetail {}
3637
3638        impl xidl_typeobject::XidlTypeObject for CompleteTypeDetail {
3639            fn minimal_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
3640                xidl_typeobject::runtime::build_minimal_struct(
3641                    0u32,
3642                    xidl_typeobject::runtime::type_identifier_none(),
3643                    vec![
3644                        xidl_typeobject::runtime::StructMemberDesc {
3645                            member_id: 1u32,
3646                            member_flags: 0u32,
3647                            type_id: xidl_typeobject::runtime::type_identifier_for::<
3648                                AppliedBuiltinTypeAnnotations,
3649                            >(
3650                                xidl_typeobject::runtime::TypeEquivalence::Minimal
3651                            ),
3652                            name: "ann_builtin",
3653                        },
3654                        xidl_typeobject::runtime::StructMemberDesc {
3655                            member_id: 2u32,
3656                            member_flags: 0u32,
3657                            type_id: xidl_typeobject::runtime::type_identifier_for::<
3658                                AppliedAnnotationSeq,
3659                            >(
3660                                xidl_typeobject::runtime::TypeEquivalence::Minimal
3661                            ),
3662                            name: "ann_custom",
3663                        },
3664                        xidl_typeobject::runtime::StructMemberDesc {
3665                            member_id: 3u32,
3666                            member_flags: 0u32,
3667                            type_id: xidl_typeobject::runtime::type_identifier_for::<
3668                                QualifiedTypeName,
3669                            >(
3670                                xidl_typeobject::runtime::TypeEquivalence::Minimal
3671                            ),
3672                            name: "type_name",
3673                        },
3674                    ],
3675                )
3676            }
3677
3678            fn complete_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
3679                xidl_typeobject::runtime::build_complete_struct(
3680                    "DDS::XTypes::CompleteTypeDetail",
3681                    0u32,
3682                    xidl_typeobject::runtime::type_identifier_none(),
3683                    vec![
3684                        xidl_typeobject::runtime::StructMemberDesc {
3685                            member_id: 1u32,
3686                            member_flags: 0u32,
3687                            type_id: xidl_typeobject::runtime::type_identifier_for::<
3688                                AppliedBuiltinTypeAnnotations,
3689                            >(
3690                                xidl_typeobject::runtime::TypeEquivalence::Complete
3691                            ),
3692                            name: "ann_builtin",
3693                        },
3694                        xidl_typeobject::runtime::StructMemberDesc {
3695                            member_id: 2u32,
3696                            member_flags: 0u32,
3697                            type_id: xidl_typeobject::runtime::type_identifier_for::<
3698                                AppliedAnnotationSeq,
3699                            >(
3700                                xidl_typeobject::runtime::TypeEquivalence::Complete
3701                            ),
3702                            name: "ann_custom",
3703                        },
3704                        xidl_typeobject::runtime::StructMemberDesc {
3705                            member_id: 3u32,
3706                            member_flags: 0u32,
3707                            type_id: xidl_typeobject::runtime::type_identifier_for::<
3708                                QualifiedTypeName,
3709                            >(
3710                                xidl_typeobject::runtime::TypeEquivalence::Complete
3711                            ),
3712                            name: "type_name",
3713                        },
3714                    ],
3715                )
3716            }
3717        }
3718        pub struct CompleteStructHeader {
3719            pub base_type: Box<TypeIdentifier>,
3720
3721            pub detail: Box<CompleteTypeDetail>,
3722        }
3723
3724        impl CompleteStructHeader {}
3725
3726        impl xidl_typeobject::XidlTypeObject for CompleteStructHeader {
3727            fn minimal_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
3728                xidl_typeobject::runtime::build_minimal_struct(
3729                    0u32,
3730                    xidl_typeobject::runtime::type_identifier_none(),
3731                    vec![
3732                        xidl_typeobject::runtime::StructMemberDesc {
3733                            member_id: 1u32,
3734                            member_flags: 0u32,
3735                            type_id: xidl_typeobject::runtime::type_identifier_for::<TypeIdentifier>(
3736                                xidl_typeobject::runtime::TypeEquivalence::Minimal,
3737                            ),
3738                            name: "base_type",
3739                        },
3740                        xidl_typeobject::runtime::StructMemberDesc {
3741                            member_id: 2u32,
3742                            member_flags: 0u32,
3743                            type_id: xidl_typeobject::runtime::type_identifier_for::<
3744                                CompleteTypeDetail,
3745                            >(
3746                                xidl_typeobject::runtime::TypeEquivalence::Minimal
3747                            ),
3748                            name: "detail",
3749                        },
3750                    ],
3751                )
3752            }
3753
3754            fn complete_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
3755                xidl_typeobject::runtime::build_complete_struct(
3756                    "DDS::XTypes::CompleteStructHeader",
3757                    0u32,
3758                    xidl_typeobject::runtime::type_identifier_none(),
3759                    vec![
3760                        xidl_typeobject::runtime::StructMemberDesc {
3761                            member_id: 1u32,
3762                            member_flags: 0u32,
3763                            type_id: xidl_typeobject::runtime::type_identifier_for::<TypeIdentifier>(
3764                                xidl_typeobject::runtime::TypeEquivalence::Complete,
3765                            ),
3766                            name: "base_type",
3767                        },
3768                        xidl_typeobject::runtime::StructMemberDesc {
3769                            member_id: 2u32,
3770                            member_flags: 0u32,
3771                            type_id: xidl_typeobject::runtime::type_identifier_for::<
3772                                CompleteTypeDetail,
3773                            >(
3774                                xidl_typeobject::runtime::TypeEquivalence::Complete
3775                            ),
3776                            name: "detail",
3777                        },
3778                    ],
3779                )
3780            }
3781        }
3782        pub struct MinimalStructHeader {
3783            pub base_type: Box<TypeIdentifier>,
3784
3785            pub detail: Box<MinimalTypeDetail>,
3786        }
3787
3788        impl MinimalStructHeader {}
3789
3790        impl xidl_typeobject::XidlTypeObject for MinimalStructHeader {
3791            fn minimal_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
3792                xidl_typeobject::runtime::build_minimal_struct(
3793                    0u32,
3794                    xidl_typeobject::runtime::type_identifier_none(),
3795                    vec![
3796                        xidl_typeobject::runtime::StructMemberDesc {
3797                            member_id: 1u32,
3798                            member_flags: 0u32,
3799                            type_id: xidl_typeobject::runtime::type_identifier_for::<TypeIdentifier>(
3800                                xidl_typeobject::runtime::TypeEquivalence::Minimal,
3801                            ),
3802                            name: "base_type",
3803                        },
3804                        xidl_typeobject::runtime::StructMemberDesc {
3805                            member_id: 2u32,
3806                            member_flags: 0u32,
3807                            type_id: xidl_typeobject::runtime::type_identifier_for::<
3808                                MinimalTypeDetail,
3809                            >(
3810                                xidl_typeobject::runtime::TypeEquivalence::Minimal
3811                            ),
3812                            name: "detail",
3813                        },
3814                    ],
3815                )
3816            }
3817
3818            fn complete_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
3819                xidl_typeobject::runtime::build_complete_struct(
3820                    "DDS::XTypes::MinimalStructHeader",
3821                    0u32,
3822                    xidl_typeobject::runtime::type_identifier_none(),
3823                    vec![
3824                        xidl_typeobject::runtime::StructMemberDesc {
3825                            member_id: 1u32,
3826                            member_flags: 0u32,
3827                            type_id: xidl_typeobject::runtime::type_identifier_for::<TypeIdentifier>(
3828                                xidl_typeobject::runtime::TypeEquivalence::Complete,
3829                            ),
3830                            name: "base_type",
3831                        },
3832                        xidl_typeobject::runtime::StructMemberDesc {
3833                            member_id: 2u32,
3834                            member_flags: 0u32,
3835                            type_id: xidl_typeobject::runtime::type_identifier_for::<
3836                                MinimalTypeDetail,
3837                            >(
3838                                xidl_typeobject::runtime::TypeEquivalence::Complete
3839                            ),
3840                            name: "detail",
3841                        },
3842                    ],
3843                )
3844            }
3845        }
3846        pub struct CompleteStructType {
3847            pub struct_flags: Box<StructTypeFlag>,
3848
3849            pub header: Box<CompleteStructHeader>,
3850
3851            pub member_seq: Box<CompleteStructMemberSeq>,
3852        }
3853
3854        impl CompleteStructType {}
3855
3856        impl xidl_typeobject::XidlTypeObject for CompleteStructType {
3857            fn minimal_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
3858                xidl_typeobject::runtime::build_minimal_struct(
3859                    0u32,
3860                    xidl_typeobject::runtime::type_identifier_none(),
3861                    vec![
3862                        xidl_typeobject::runtime::StructMemberDesc {
3863                            member_id: 1u32,
3864                            member_flags: 0u32,
3865                            type_id: xidl_typeobject::runtime::type_identifier_for::<StructTypeFlag>(
3866                                xidl_typeobject::runtime::TypeEquivalence::Minimal,
3867                            ),
3868                            name: "struct_flags",
3869                        },
3870                        xidl_typeobject::runtime::StructMemberDesc {
3871                            member_id: 2u32,
3872                            member_flags: 0u32,
3873                            type_id: xidl_typeobject::runtime::type_identifier_for::<
3874                                CompleteStructHeader,
3875                            >(
3876                                xidl_typeobject::runtime::TypeEquivalence::Minimal
3877                            ),
3878                            name: "header",
3879                        },
3880                        xidl_typeobject::runtime::StructMemberDesc {
3881                            member_id: 3u32,
3882                            member_flags: 0u32,
3883                            type_id: xidl_typeobject::runtime::type_identifier_for::<
3884                                CompleteStructMemberSeq,
3885                            >(
3886                                xidl_typeobject::runtime::TypeEquivalence::Minimal
3887                            ),
3888                            name: "member_seq",
3889                        },
3890                    ],
3891                )
3892            }
3893
3894            fn complete_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
3895                xidl_typeobject::runtime::build_complete_struct(
3896                    "DDS::XTypes::CompleteStructType",
3897                    0u32,
3898                    xidl_typeobject::runtime::type_identifier_none(),
3899                    vec![
3900                        xidl_typeobject::runtime::StructMemberDesc {
3901                            member_id: 1u32,
3902                            member_flags: 0u32,
3903                            type_id: xidl_typeobject::runtime::type_identifier_for::<StructTypeFlag>(
3904                                xidl_typeobject::runtime::TypeEquivalence::Complete,
3905                            ),
3906                            name: "struct_flags",
3907                        },
3908                        xidl_typeobject::runtime::StructMemberDesc {
3909                            member_id: 2u32,
3910                            member_flags: 0u32,
3911                            type_id: xidl_typeobject::runtime::type_identifier_for::<
3912                                CompleteStructHeader,
3913                            >(
3914                                xidl_typeobject::runtime::TypeEquivalence::Complete
3915                            ),
3916                            name: "header",
3917                        },
3918                        xidl_typeobject::runtime::StructMemberDesc {
3919                            member_id: 3u32,
3920                            member_flags: 0u32,
3921                            type_id: xidl_typeobject::runtime::type_identifier_for::<
3922                                CompleteStructMemberSeq,
3923                            >(
3924                                xidl_typeobject::runtime::TypeEquivalence::Complete
3925                            ),
3926                            name: "member_seq",
3927                        },
3928                    ],
3929                )
3930            }
3931        }
3932        pub struct MinimalStructType {
3933            pub struct_flags: Box<StructTypeFlag>,
3934
3935            pub header: Box<MinimalStructHeader>,
3936
3937            pub member_seq: Box<MinimalStructMemberSeq>,
3938        }
3939
3940        impl MinimalStructType {}
3941
3942        impl xidl_typeobject::XidlTypeObject for MinimalStructType {
3943            fn minimal_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
3944                xidl_typeobject::runtime::build_minimal_struct(
3945                    0u32,
3946                    xidl_typeobject::runtime::type_identifier_none(),
3947                    vec![
3948                        xidl_typeobject::runtime::StructMemberDesc {
3949                            member_id: 1u32,
3950                            member_flags: 0u32,
3951                            type_id: xidl_typeobject::runtime::type_identifier_for::<StructTypeFlag>(
3952                                xidl_typeobject::runtime::TypeEquivalence::Minimal,
3953                            ),
3954                            name: "struct_flags",
3955                        },
3956                        xidl_typeobject::runtime::StructMemberDesc {
3957                            member_id: 2u32,
3958                            member_flags: 0u32,
3959                            type_id: xidl_typeobject::runtime::type_identifier_for::<
3960                                MinimalStructHeader,
3961                            >(
3962                                xidl_typeobject::runtime::TypeEquivalence::Minimal
3963                            ),
3964                            name: "header",
3965                        },
3966                        xidl_typeobject::runtime::StructMemberDesc {
3967                            member_id: 3u32,
3968                            member_flags: 0u32,
3969                            type_id: xidl_typeobject::runtime::type_identifier_for::<
3970                                MinimalStructMemberSeq,
3971                            >(
3972                                xidl_typeobject::runtime::TypeEquivalence::Minimal
3973                            ),
3974                            name: "member_seq",
3975                        },
3976                    ],
3977                )
3978            }
3979
3980            fn complete_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
3981                xidl_typeobject::runtime::build_complete_struct(
3982                    "DDS::XTypes::MinimalStructType",
3983                    0u32,
3984                    xidl_typeobject::runtime::type_identifier_none(),
3985                    vec![
3986                        xidl_typeobject::runtime::StructMemberDesc {
3987                            member_id: 1u32,
3988                            member_flags: 0u32,
3989                            type_id: xidl_typeobject::runtime::type_identifier_for::<StructTypeFlag>(
3990                                xidl_typeobject::runtime::TypeEquivalence::Complete,
3991                            ),
3992                            name: "struct_flags",
3993                        },
3994                        xidl_typeobject::runtime::StructMemberDesc {
3995                            member_id: 2u32,
3996                            member_flags: 0u32,
3997                            type_id: xidl_typeobject::runtime::type_identifier_for::<
3998                                MinimalStructHeader,
3999                            >(
4000                                xidl_typeobject::runtime::TypeEquivalence::Complete
4001                            ),
4002                            name: "header",
4003                        },
4004                        xidl_typeobject::runtime::StructMemberDesc {
4005                            member_id: 3u32,
4006                            member_flags: 0u32,
4007                            type_id: xidl_typeobject::runtime::type_identifier_for::<
4008                                MinimalStructMemberSeq,
4009                            >(
4010                                xidl_typeobject::runtime::TypeEquivalence::Complete
4011                            ),
4012                            name: "member_seq",
4013                        },
4014                    ],
4015                )
4016            }
4017        }
4018        pub type UnionCaseLabelSeq = Vec<i32>;
4019        pub struct CommonUnionMember {
4020            pub member_id: Box<MemberId>,
4021
4022            pub member_flags: Box<UnionMemberFlag>,
4023
4024            pub type_id: Box<TypeIdentifier>,
4025
4026            pub label_seq: Box<UnionCaseLabelSeq>,
4027        }
4028
4029        impl CommonUnionMember {}
4030
4031        impl xidl_typeobject::XidlTypeObject for CommonUnionMember {
4032            fn minimal_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
4033                xidl_typeobject::runtime::build_minimal_struct(
4034                    0u32,
4035                    xidl_typeobject::runtime::type_identifier_none(),
4036                    vec![
4037                        xidl_typeobject::runtime::StructMemberDesc {
4038                            member_id: 1u32,
4039                            member_flags: 0u32,
4040                            type_id: xidl_typeobject::runtime::type_identifier_for::<MemberId>(
4041                                xidl_typeobject::runtime::TypeEquivalence::Minimal,
4042                            ),
4043                            name: "member_id",
4044                        },
4045                        xidl_typeobject::runtime::StructMemberDesc {
4046                            member_id: 2u32,
4047                            member_flags: 0u32,
4048                            type_id: xidl_typeobject::runtime::type_identifier_for::<UnionMemberFlag>(
4049                                xidl_typeobject::runtime::TypeEquivalence::Minimal,
4050                            ),
4051                            name: "member_flags",
4052                        },
4053                        xidl_typeobject::runtime::StructMemberDesc {
4054                            member_id: 3u32,
4055                            member_flags: 0u32,
4056                            type_id: xidl_typeobject::runtime::type_identifier_for::<TypeIdentifier>(
4057                                xidl_typeobject::runtime::TypeEquivalence::Minimal,
4058                            ),
4059                            name: "type_id",
4060                        },
4061                        xidl_typeobject::runtime::StructMemberDesc {
4062                            member_id: 4u32,
4063                            member_flags: 0u32,
4064                            type_id: xidl_typeobject::runtime::type_identifier_for::<
4065                                UnionCaseLabelSeq,
4066                            >(
4067                                xidl_typeobject::runtime::TypeEquivalence::Minimal
4068                            ),
4069                            name: "label_seq",
4070                        },
4071                    ],
4072                )
4073            }
4074
4075            fn complete_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
4076                xidl_typeobject::runtime::build_complete_struct(
4077                    "DDS::XTypes::CommonUnionMember",
4078                    0u32,
4079                    xidl_typeobject::runtime::type_identifier_none(),
4080                    vec![
4081                        xidl_typeobject::runtime::StructMemberDesc {
4082                            member_id: 1u32,
4083                            member_flags: 0u32,
4084                            type_id: xidl_typeobject::runtime::type_identifier_for::<MemberId>(
4085                                xidl_typeobject::runtime::TypeEquivalence::Complete,
4086                            ),
4087                            name: "member_id",
4088                        },
4089                        xidl_typeobject::runtime::StructMemberDesc {
4090                            member_id: 2u32,
4091                            member_flags: 0u32,
4092                            type_id: xidl_typeobject::runtime::type_identifier_for::<UnionMemberFlag>(
4093                                xidl_typeobject::runtime::TypeEquivalence::Complete,
4094                            ),
4095                            name: "member_flags",
4096                        },
4097                        xidl_typeobject::runtime::StructMemberDesc {
4098                            member_id: 3u32,
4099                            member_flags: 0u32,
4100                            type_id: xidl_typeobject::runtime::type_identifier_for::<TypeIdentifier>(
4101                                xidl_typeobject::runtime::TypeEquivalence::Complete,
4102                            ),
4103                            name: "type_id",
4104                        },
4105                        xidl_typeobject::runtime::StructMemberDesc {
4106                            member_id: 4u32,
4107                            member_flags: 0u32,
4108                            type_id: xidl_typeobject::runtime::type_identifier_for::<
4109                                UnionCaseLabelSeq,
4110                            >(
4111                                xidl_typeobject::runtime::TypeEquivalence::Complete
4112                            ),
4113                            name: "label_seq",
4114                        },
4115                    ],
4116                )
4117            }
4118        }
4119        pub struct CompleteUnionMember {
4120            pub common: Box<CommonUnionMember>,
4121
4122            pub detail: Box<CompleteMemberDetail>,
4123        }
4124
4125        impl CompleteUnionMember {}
4126
4127        impl xidl_typeobject::XidlTypeObject for CompleteUnionMember {
4128            fn minimal_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
4129                xidl_typeobject::runtime::build_minimal_struct(
4130                    0u32,
4131                    xidl_typeobject::runtime::type_identifier_none(),
4132                    vec![
4133                        xidl_typeobject::runtime::StructMemberDesc {
4134                            member_id: 1u32,
4135                            member_flags: 0u32,
4136                            type_id: xidl_typeobject::runtime::type_identifier_for::<
4137                                CommonUnionMember,
4138                            >(
4139                                xidl_typeobject::runtime::TypeEquivalence::Minimal
4140                            ),
4141                            name: "common",
4142                        },
4143                        xidl_typeobject::runtime::StructMemberDesc {
4144                            member_id: 2u32,
4145                            member_flags: 0u32,
4146                            type_id: xidl_typeobject::runtime::type_identifier_for::<
4147                                CompleteMemberDetail,
4148                            >(
4149                                xidl_typeobject::runtime::TypeEquivalence::Minimal
4150                            ),
4151                            name: "detail",
4152                        },
4153                    ],
4154                )
4155            }
4156
4157            fn complete_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
4158                xidl_typeobject::runtime::build_complete_struct(
4159                    "DDS::XTypes::CompleteUnionMember",
4160                    0u32,
4161                    xidl_typeobject::runtime::type_identifier_none(),
4162                    vec![
4163                        xidl_typeobject::runtime::StructMemberDesc {
4164                            member_id: 1u32,
4165                            member_flags: 0u32,
4166                            type_id: xidl_typeobject::runtime::type_identifier_for::<
4167                                CommonUnionMember,
4168                            >(
4169                                xidl_typeobject::runtime::TypeEquivalence::Complete
4170                            ),
4171                            name: "common",
4172                        },
4173                        xidl_typeobject::runtime::StructMemberDesc {
4174                            member_id: 2u32,
4175                            member_flags: 0u32,
4176                            type_id: xidl_typeobject::runtime::type_identifier_for::<
4177                                CompleteMemberDetail,
4178                            >(
4179                                xidl_typeobject::runtime::TypeEquivalence::Complete
4180                            ),
4181                            name: "detail",
4182                        },
4183                    ],
4184                )
4185            }
4186        }
4187        pub type CompleteUnionMemberSeq = Vec<CompleteUnionMember>;
4188        pub struct MinimalUnionMember {
4189            pub common: Box<CommonUnionMember>,
4190
4191            pub detail: Box<MinimalMemberDetail>,
4192        }
4193
4194        impl MinimalUnionMember {}
4195
4196        impl xidl_typeobject::XidlTypeObject for MinimalUnionMember {
4197            fn minimal_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
4198                xidl_typeobject::runtime::build_minimal_struct(
4199                    0u32,
4200                    xidl_typeobject::runtime::type_identifier_none(),
4201                    vec![
4202                        xidl_typeobject::runtime::StructMemberDesc {
4203                            member_id: 1u32,
4204                            member_flags: 0u32,
4205                            type_id: xidl_typeobject::runtime::type_identifier_for::<
4206                                CommonUnionMember,
4207                            >(
4208                                xidl_typeobject::runtime::TypeEquivalence::Minimal
4209                            ),
4210                            name: "common",
4211                        },
4212                        xidl_typeobject::runtime::StructMemberDesc {
4213                            member_id: 2u32,
4214                            member_flags: 0u32,
4215                            type_id: xidl_typeobject::runtime::type_identifier_for::<
4216                                MinimalMemberDetail,
4217                            >(
4218                                xidl_typeobject::runtime::TypeEquivalence::Minimal
4219                            ),
4220                            name: "detail",
4221                        },
4222                    ],
4223                )
4224            }
4225
4226            fn complete_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
4227                xidl_typeobject::runtime::build_complete_struct(
4228                    "DDS::XTypes::MinimalUnionMember",
4229                    0u32,
4230                    xidl_typeobject::runtime::type_identifier_none(),
4231                    vec![
4232                        xidl_typeobject::runtime::StructMemberDesc {
4233                            member_id: 1u32,
4234                            member_flags: 0u32,
4235                            type_id: xidl_typeobject::runtime::type_identifier_for::<
4236                                CommonUnionMember,
4237                            >(
4238                                xidl_typeobject::runtime::TypeEquivalence::Complete
4239                            ),
4240                            name: "common",
4241                        },
4242                        xidl_typeobject::runtime::StructMemberDesc {
4243                            member_id: 2u32,
4244                            member_flags: 0u32,
4245                            type_id: xidl_typeobject::runtime::type_identifier_for::<
4246                                MinimalMemberDetail,
4247                            >(
4248                                xidl_typeobject::runtime::TypeEquivalence::Complete
4249                            ),
4250                            name: "detail",
4251                        },
4252                    ],
4253                )
4254            }
4255        }
4256        pub type MinimalUnionMemberSeq = Vec<MinimalUnionMember>;
4257        pub struct CommonDiscriminatorMember {
4258            pub member_flags: Box<UnionDiscriminatorFlag>,
4259
4260            pub type_id: Box<TypeIdentifier>,
4261        }
4262
4263        impl CommonDiscriminatorMember {}
4264
4265        impl xidl_typeobject::XidlTypeObject for CommonDiscriminatorMember {
4266            fn minimal_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
4267                xidl_typeobject::runtime::build_minimal_struct(
4268                    0u32,
4269                    xidl_typeobject::runtime::type_identifier_none(),
4270                    vec![
4271                        xidl_typeobject::runtime::StructMemberDesc {
4272                            member_id: 1u32,
4273                            member_flags: 0u32,
4274                            type_id: xidl_typeobject::runtime::type_identifier_for::<
4275                                UnionDiscriminatorFlag,
4276                            >(
4277                                xidl_typeobject::runtime::TypeEquivalence::Minimal
4278                            ),
4279                            name: "member_flags",
4280                        },
4281                        xidl_typeobject::runtime::StructMemberDesc {
4282                            member_id: 2u32,
4283                            member_flags: 0u32,
4284                            type_id: xidl_typeobject::runtime::type_identifier_for::<TypeIdentifier>(
4285                                xidl_typeobject::runtime::TypeEquivalence::Minimal,
4286                            ),
4287                            name: "type_id",
4288                        },
4289                    ],
4290                )
4291            }
4292
4293            fn complete_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
4294                xidl_typeobject::runtime::build_complete_struct(
4295                    "DDS::XTypes::CommonDiscriminatorMember",
4296                    0u32,
4297                    xidl_typeobject::runtime::type_identifier_none(),
4298                    vec![
4299                        xidl_typeobject::runtime::StructMemberDesc {
4300                            member_id: 1u32,
4301                            member_flags: 0u32,
4302                            type_id: xidl_typeobject::runtime::type_identifier_for::<
4303                                UnionDiscriminatorFlag,
4304                            >(
4305                                xidl_typeobject::runtime::TypeEquivalence::Complete
4306                            ),
4307                            name: "member_flags",
4308                        },
4309                        xidl_typeobject::runtime::StructMemberDesc {
4310                            member_id: 2u32,
4311                            member_flags: 0u32,
4312                            type_id: xidl_typeobject::runtime::type_identifier_for::<TypeIdentifier>(
4313                                xidl_typeobject::runtime::TypeEquivalence::Complete,
4314                            ),
4315                            name: "type_id",
4316                        },
4317                    ],
4318                )
4319            }
4320        }
4321        pub struct CompleteDiscriminatorMember {
4322            pub common: Box<CommonDiscriminatorMember>,
4323
4324            pub ann_builtin: Box<AppliedBuiltinTypeAnnotations>,
4325
4326            pub ann_custom: Box<AppliedAnnotationSeq>,
4327        }
4328
4329        impl CompleteDiscriminatorMember {}
4330
4331        impl xidl_typeobject::XidlTypeObject for CompleteDiscriminatorMember {
4332            fn minimal_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
4333                xidl_typeobject::runtime::build_minimal_struct(
4334                    0u32,
4335                    xidl_typeobject::runtime::type_identifier_none(),
4336                    vec![
4337                        xidl_typeobject::runtime::StructMemberDesc {
4338                            member_id: 1u32,
4339                            member_flags: 0u32,
4340                            type_id: xidl_typeobject::runtime::type_identifier_for::<
4341                                CommonDiscriminatorMember,
4342                            >(
4343                                xidl_typeobject::runtime::TypeEquivalence::Minimal
4344                            ),
4345                            name: "common",
4346                        },
4347                        xidl_typeobject::runtime::StructMemberDesc {
4348                            member_id: 2u32,
4349                            member_flags: 0u32,
4350                            type_id: xidl_typeobject::runtime::type_identifier_for::<
4351                                AppliedBuiltinTypeAnnotations,
4352                            >(
4353                                xidl_typeobject::runtime::TypeEquivalence::Minimal
4354                            ),
4355                            name: "ann_builtin",
4356                        },
4357                        xidl_typeobject::runtime::StructMemberDesc {
4358                            member_id: 3u32,
4359                            member_flags: 0u32,
4360                            type_id: xidl_typeobject::runtime::type_identifier_for::<
4361                                AppliedAnnotationSeq,
4362                            >(
4363                                xidl_typeobject::runtime::TypeEquivalence::Minimal
4364                            ),
4365                            name: "ann_custom",
4366                        },
4367                    ],
4368                )
4369            }
4370
4371            fn complete_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
4372                xidl_typeobject::runtime::build_complete_struct(
4373                    "DDS::XTypes::CompleteDiscriminatorMember",
4374                    0u32,
4375                    xidl_typeobject::runtime::type_identifier_none(),
4376                    vec![
4377                        xidl_typeobject::runtime::StructMemberDesc {
4378                            member_id: 1u32,
4379                            member_flags: 0u32,
4380                            type_id: xidl_typeobject::runtime::type_identifier_for::<
4381                                CommonDiscriminatorMember,
4382                            >(
4383                                xidl_typeobject::runtime::TypeEquivalence::Complete
4384                            ),
4385                            name: "common",
4386                        },
4387                        xidl_typeobject::runtime::StructMemberDesc {
4388                            member_id: 2u32,
4389                            member_flags: 0u32,
4390                            type_id: xidl_typeobject::runtime::type_identifier_for::<
4391                                AppliedBuiltinTypeAnnotations,
4392                            >(
4393                                xidl_typeobject::runtime::TypeEquivalence::Complete
4394                            ),
4395                            name: "ann_builtin",
4396                        },
4397                        xidl_typeobject::runtime::StructMemberDesc {
4398                            member_id: 3u32,
4399                            member_flags: 0u32,
4400                            type_id: xidl_typeobject::runtime::type_identifier_for::<
4401                                AppliedAnnotationSeq,
4402                            >(
4403                                xidl_typeobject::runtime::TypeEquivalence::Complete
4404                            ),
4405                            name: "ann_custom",
4406                        },
4407                    ],
4408                )
4409            }
4410        }
4411        pub struct MinimalDiscriminatorMember {
4412            pub common: Box<CommonDiscriminatorMember>,
4413        }
4414
4415        impl MinimalDiscriminatorMember {}
4416
4417        impl xidl_typeobject::XidlTypeObject for MinimalDiscriminatorMember {
4418            fn minimal_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
4419                xidl_typeobject::runtime::build_minimal_struct(
4420                    0u32,
4421                    xidl_typeobject::runtime::type_identifier_none(),
4422                    vec![xidl_typeobject::runtime::StructMemberDesc {
4423                        member_id: 1u32,
4424                        member_flags: 0u32,
4425                        type_id: xidl_typeobject::runtime::type_identifier_for::<
4426                            CommonDiscriminatorMember,
4427                        >(
4428                            xidl_typeobject::runtime::TypeEquivalence::Minimal
4429                        ),
4430                        name: "common",
4431                    }],
4432                )
4433            }
4434
4435            fn complete_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
4436                xidl_typeobject::runtime::build_complete_struct(
4437                    "DDS::XTypes::MinimalDiscriminatorMember",
4438                    0u32,
4439                    xidl_typeobject::runtime::type_identifier_none(),
4440                    vec![xidl_typeobject::runtime::StructMemberDesc {
4441                        member_id: 1u32,
4442                        member_flags: 0u32,
4443                        type_id: xidl_typeobject::runtime::type_identifier_for::<
4444                            CommonDiscriminatorMember,
4445                        >(
4446                            xidl_typeobject::runtime::TypeEquivalence::Complete
4447                        ),
4448                        name: "common",
4449                    }],
4450                )
4451            }
4452        }
4453        pub struct CompleteUnionHeader {
4454            pub detail: Box<CompleteTypeDetail>,
4455        }
4456
4457        impl CompleteUnionHeader {}
4458
4459        impl xidl_typeobject::XidlTypeObject for CompleteUnionHeader {
4460            fn minimal_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
4461                xidl_typeobject::runtime::build_minimal_struct(
4462                    0u32,
4463                    xidl_typeobject::runtime::type_identifier_none(),
4464                    vec![xidl_typeobject::runtime::StructMemberDesc {
4465                        member_id: 1u32,
4466                        member_flags: 0u32,
4467                        type_id: xidl_typeobject::runtime::type_identifier_for::<CompleteTypeDetail>(
4468                            xidl_typeobject::runtime::TypeEquivalence::Minimal,
4469                        ),
4470                        name: "detail",
4471                    }],
4472                )
4473            }
4474
4475            fn complete_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
4476                xidl_typeobject::runtime::build_complete_struct(
4477                    "DDS::XTypes::CompleteUnionHeader",
4478                    0u32,
4479                    xidl_typeobject::runtime::type_identifier_none(),
4480                    vec![xidl_typeobject::runtime::StructMemberDesc {
4481                        member_id: 1u32,
4482                        member_flags: 0u32,
4483                        type_id: xidl_typeobject::runtime::type_identifier_for::<CompleteTypeDetail>(
4484                            xidl_typeobject::runtime::TypeEquivalence::Complete,
4485                        ),
4486                        name: "detail",
4487                    }],
4488                )
4489            }
4490        }
4491        pub struct MinimalUnionHeader {
4492            pub detail: Box<MinimalTypeDetail>,
4493        }
4494
4495        impl MinimalUnionHeader {}
4496
4497        impl xidl_typeobject::XidlTypeObject for MinimalUnionHeader {
4498            fn minimal_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
4499                xidl_typeobject::runtime::build_minimal_struct(
4500                    0u32,
4501                    xidl_typeobject::runtime::type_identifier_none(),
4502                    vec![xidl_typeobject::runtime::StructMemberDesc {
4503                        member_id: 1u32,
4504                        member_flags: 0u32,
4505                        type_id: xidl_typeobject::runtime::type_identifier_for::<MinimalTypeDetail>(
4506                            xidl_typeobject::runtime::TypeEquivalence::Minimal,
4507                        ),
4508                        name: "detail",
4509                    }],
4510                )
4511            }
4512
4513            fn complete_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
4514                xidl_typeobject::runtime::build_complete_struct(
4515                    "DDS::XTypes::MinimalUnionHeader",
4516                    0u32,
4517                    xidl_typeobject::runtime::type_identifier_none(),
4518                    vec![xidl_typeobject::runtime::StructMemberDesc {
4519                        member_id: 1u32,
4520                        member_flags: 0u32,
4521                        type_id: xidl_typeobject::runtime::type_identifier_for::<MinimalTypeDetail>(
4522                            xidl_typeobject::runtime::TypeEquivalence::Complete,
4523                        ),
4524                        name: "detail",
4525                    }],
4526                )
4527            }
4528        }
4529        pub struct CompleteUnionType {
4530            pub union_flags: Box<UnionTypeFlag>,
4531
4532            pub header: Box<CompleteUnionHeader>,
4533
4534            pub discriminator: Box<CompleteDiscriminatorMember>,
4535
4536            pub member_seq: Box<CompleteUnionMemberSeq>,
4537        }
4538
4539        impl CompleteUnionType {}
4540
4541        impl xidl_typeobject::XidlTypeObject for CompleteUnionType {
4542            fn minimal_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
4543                xidl_typeobject::runtime::build_minimal_struct(
4544                    0u32,
4545                    xidl_typeobject::runtime::type_identifier_none(),
4546                    vec![
4547                        xidl_typeobject::runtime::StructMemberDesc {
4548                            member_id: 1u32,
4549                            member_flags: 0u32,
4550                            type_id: xidl_typeobject::runtime::type_identifier_for::<UnionTypeFlag>(
4551                                xidl_typeobject::runtime::TypeEquivalence::Minimal,
4552                            ),
4553                            name: "union_flags",
4554                        },
4555                        xidl_typeobject::runtime::StructMemberDesc {
4556                            member_id: 2u32,
4557                            member_flags: 0u32,
4558                            type_id: xidl_typeobject::runtime::type_identifier_for::<
4559                                CompleteUnionHeader,
4560                            >(
4561                                xidl_typeobject::runtime::TypeEquivalence::Minimal
4562                            ),
4563                            name: "header",
4564                        },
4565                        xidl_typeobject::runtime::StructMemberDesc {
4566                            member_id: 3u32,
4567                            member_flags: 0u32,
4568                            type_id: xidl_typeobject::runtime::type_identifier_for::<
4569                                CompleteDiscriminatorMember,
4570                            >(
4571                                xidl_typeobject::runtime::TypeEquivalence::Minimal
4572                            ),
4573                            name: "discriminator",
4574                        },
4575                        xidl_typeobject::runtime::StructMemberDesc {
4576                            member_id: 4u32,
4577                            member_flags: 0u32,
4578                            type_id: xidl_typeobject::runtime::type_identifier_for::<
4579                                CompleteUnionMemberSeq,
4580                            >(
4581                                xidl_typeobject::runtime::TypeEquivalence::Minimal
4582                            ),
4583                            name: "member_seq",
4584                        },
4585                    ],
4586                )
4587            }
4588
4589            fn complete_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
4590                xidl_typeobject::runtime::build_complete_struct(
4591                    "DDS::XTypes::CompleteUnionType",
4592                    0u32,
4593                    xidl_typeobject::runtime::type_identifier_none(),
4594                    vec![
4595                        xidl_typeobject::runtime::StructMemberDesc {
4596                            member_id: 1u32,
4597                            member_flags: 0u32,
4598                            type_id: xidl_typeobject::runtime::type_identifier_for::<UnionTypeFlag>(
4599                                xidl_typeobject::runtime::TypeEquivalence::Complete,
4600                            ),
4601                            name: "union_flags",
4602                        },
4603                        xidl_typeobject::runtime::StructMemberDesc {
4604                            member_id: 2u32,
4605                            member_flags: 0u32,
4606                            type_id: xidl_typeobject::runtime::type_identifier_for::<
4607                                CompleteUnionHeader,
4608                            >(
4609                                xidl_typeobject::runtime::TypeEquivalence::Complete
4610                            ),
4611                            name: "header",
4612                        },
4613                        xidl_typeobject::runtime::StructMemberDesc {
4614                            member_id: 3u32,
4615                            member_flags: 0u32,
4616                            type_id: xidl_typeobject::runtime::type_identifier_for::<
4617                                CompleteDiscriminatorMember,
4618                            >(
4619                                xidl_typeobject::runtime::TypeEquivalence::Complete
4620                            ),
4621                            name: "discriminator",
4622                        },
4623                        xidl_typeobject::runtime::StructMemberDesc {
4624                            member_id: 4u32,
4625                            member_flags: 0u32,
4626                            type_id: xidl_typeobject::runtime::type_identifier_for::<
4627                                CompleteUnionMemberSeq,
4628                            >(
4629                                xidl_typeobject::runtime::TypeEquivalence::Complete
4630                            ),
4631                            name: "member_seq",
4632                        },
4633                    ],
4634                )
4635            }
4636        }
4637        pub struct MinimalUnionType {
4638            pub union_flags: Box<UnionTypeFlag>,
4639
4640            pub header: Box<MinimalUnionHeader>,
4641
4642            pub discriminator: Box<MinimalDiscriminatorMember>,
4643
4644            pub member_seq: Box<MinimalUnionMemberSeq>,
4645        }
4646
4647        impl MinimalUnionType {}
4648
4649        impl xidl_typeobject::XidlTypeObject for MinimalUnionType {
4650            fn minimal_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
4651                xidl_typeobject::runtime::build_minimal_struct(
4652                    0u32,
4653                    xidl_typeobject::runtime::type_identifier_none(),
4654                    vec![
4655                        xidl_typeobject::runtime::StructMemberDesc {
4656                            member_id: 1u32,
4657                            member_flags: 0u32,
4658                            type_id: xidl_typeobject::runtime::type_identifier_for::<UnionTypeFlag>(
4659                                xidl_typeobject::runtime::TypeEquivalence::Minimal,
4660                            ),
4661                            name: "union_flags",
4662                        },
4663                        xidl_typeobject::runtime::StructMemberDesc {
4664                            member_id: 2u32,
4665                            member_flags: 0u32,
4666                            type_id: xidl_typeobject::runtime::type_identifier_for::<
4667                                MinimalUnionHeader,
4668                            >(
4669                                xidl_typeobject::runtime::TypeEquivalence::Minimal
4670                            ),
4671                            name: "header",
4672                        },
4673                        xidl_typeobject::runtime::StructMemberDesc {
4674                            member_id: 3u32,
4675                            member_flags: 0u32,
4676                            type_id: xidl_typeobject::runtime::type_identifier_for::<
4677                                MinimalDiscriminatorMember,
4678                            >(
4679                                xidl_typeobject::runtime::TypeEquivalence::Minimal
4680                            ),
4681                            name: "discriminator",
4682                        },
4683                        xidl_typeobject::runtime::StructMemberDesc {
4684                            member_id: 4u32,
4685                            member_flags: 0u32,
4686                            type_id: xidl_typeobject::runtime::type_identifier_for::<
4687                                MinimalUnionMemberSeq,
4688                            >(
4689                                xidl_typeobject::runtime::TypeEquivalence::Minimal
4690                            ),
4691                            name: "member_seq",
4692                        },
4693                    ],
4694                )
4695            }
4696
4697            fn complete_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
4698                xidl_typeobject::runtime::build_complete_struct(
4699                    "DDS::XTypes::MinimalUnionType",
4700                    0u32,
4701                    xidl_typeobject::runtime::type_identifier_none(),
4702                    vec![
4703                        xidl_typeobject::runtime::StructMemberDesc {
4704                            member_id: 1u32,
4705                            member_flags: 0u32,
4706                            type_id: xidl_typeobject::runtime::type_identifier_for::<UnionTypeFlag>(
4707                                xidl_typeobject::runtime::TypeEquivalence::Complete,
4708                            ),
4709                            name: "union_flags",
4710                        },
4711                        xidl_typeobject::runtime::StructMemberDesc {
4712                            member_id: 2u32,
4713                            member_flags: 0u32,
4714                            type_id: xidl_typeobject::runtime::type_identifier_for::<
4715                                MinimalUnionHeader,
4716                            >(
4717                                xidl_typeobject::runtime::TypeEquivalence::Complete
4718                            ),
4719                            name: "header",
4720                        },
4721                        xidl_typeobject::runtime::StructMemberDesc {
4722                            member_id: 3u32,
4723                            member_flags: 0u32,
4724                            type_id: xidl_typeobject::runtime::type_identifier_for::<
4725                                MinimalDiscriminatorMember,
4726                            >(
4727                                xidl_typeobject::runtime::TypeEquivalence::Complete
4728                            ),
4729                            name: "discriminator",
4730                        },
4731                        xidl_typeobject::runtime::StructMemberDesc {
4732                            member_id: 4u32,
4733                            member_flags: 0u32,
4734                            type_id: xidl_typeobject::runtime::type_identifier_for::<
4735                                MinimalUnionMemberSeq,
4736                            >(
4737                                xidl_typeobject::runtime::TypeEquivalence::Complete
4738                            ),
4739                            name: "member_seq",
4740                        },
4741                    ],
4742                )
4743            }
4744        }
4745        pub struct CommonAnnotationParameter {
4746            pub member_flags: Box<AnnotationParameterFlag>,
4747
4748            pub member_type_id: Box<TypeIdentifier>,
4749        }
4750
4751        impl CommonAnnotationParameter {}
4752
4753        impl xidl_typeobject::XidlTypeObject for CommonAnnotationParameter {
4754            fn minimal_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
4755                xidl_typeobject::runtime::build_minimal_struct(
4756                    0u32,
4757                    xidl_typeobject::runtime::type_identifier_none(),
4758                    vec![
4759                        xidl_typeobject::runtime::StructMemberDesc {
4760                            member_id: 1u32,
4761                            member_flags: 0u32,
4762                            type_id: xidl_typeobject::runtime::type_identifier_for::<
4763                                AnnotationParameterFlag,
4764                            >(
4765                                xidl_typeobject::runtime::TypeEquivalence::Minimal
4766                            ),
4767                            name: "member_flags",
4768                        },
4769                        xidl_typeobject::runtime::StructMemberDesc {
4770                            member_id: 2u32,
4771                            member_flags: 0u32,
4772                            type_id: xidl_typeobject::runtime::type_identifier_for::<TypeIdentifier>(
4773                                xidl_typeobject::runtime::TypeEquivalence::Minimal,
4774                            ),
4775                            name: "member_type_id",
4776                        },
4777                    ],
4778                )
4779            }
4780
4781            fn complete_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
4782                xidl_typeobject::runtime::build_complete_struct(
4783                    "DDS::XTypes::CommonAnnotationParameter",
4784                    0u32,
4785                    xidl_typeobject::runtime::type_identifier_none(),
4786                    vec![
4787                        xidl_typeobject::runtime::StructMemberDesc {
4788                            member_id: 1u32,
4789                            member_flags: 0u32,
4790                            type_id: xidl_typeobject::runtime::type_identifier_for::<
4791                                AnnotationParameterFlag,
4792                            >(
4793                                xidl_typeobject::runtime::TypeEquivalence::Complete
4794                            ),
4795                            name: "member_flags",
4796                        },
4797                        xidl_typeobject::runtime::StructMemberDesc {
4798                            member_id: 2u32,
4799                            member_flags: 0u32,
4800                            type_id: xidl_typeobject::runtime::type_identifier_for::<TypeIdentifier>(
4801                                xidl_typeobject::runtime::TypeEquivalence::Complete,
4802                            ),
4803                            name: "member_type_id",
4804                        },
4805                    ],
4806                )
4807            }
4808        }
4809        pub struct CompleteAnnotationParameter {
4810            pub common: Box<CommonAnnotationParameter>,
4811
4812            pub name: Box<MemberName>,
4813
4814            pub default_value: Box<AnnotationParameterValue>,
4815        }
4816
4817        impl CompleteAnnotationParameter {}
4818
4819        impl xidl_typeobject::XidlTypeObject for CompleteAnnotationParameter {
4820            fn minimal_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
4821                xidl_typeobject::runtime::build_minimal_struct(
4822                    0u32,
4823                    xidl_typeobject::runtime::type_identifier_none(),
4824                    vec![
4825                        xidl_typeobject::runtime::StructMemberDesc {
4826                            member_id: 1u32,
4827                            member_flags: 0u32,
4828                            type_id: xidl_typeobject::runtime::type_identifier_for::<
4829                                CommonAnnotationParameter,
4830                            >(
4831                                xidl_typeobject::runtime::TypeEquivalence::Minimal
4832                            ),
4833                            name: "common",
4834                        },
4835                        xidl_typeobject::runtime::StructMemberDesc {
4836                            member_id: 2u32,
4837                            member_flags: 0u32,
4838                            type_id: xidl_typeobject::runtime::type_identifier_for::<MemberName>(
4839                                xidl_typeobject::runtime::TypeEquivalence::Minimal,
4840                            ),
4841                            name: "name",
4842                        },
4843                        xidl_typeobject::runtime::StructMemberDesc {
4844                            member_id: 3u32,
4845                            member_flags: 0u32,
4846                            type_id: xidl_typeobject::runtime::type_identifier_for::<
4847                                AnnotationParameterValue,
4848                            >(
4849                                xidl_typeobject::runtime::TypeEquivalence::Minimal
4850                            ),
4851                            name: "default_value",
4852                        },
4853                    ],
4854                )
4855            }
4856
4857            fn complete_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
4858                xidl_typeobject::runtime::build_complete_struct(
4859                    "DDS::XTypes::CompleteAnnotationParameter",
4860                    0u32,
4861                    xidl_typeobject::runtime::type_identifier_none(),
4862                    vec![
4863                        xidl_typeobject::runtime::StructMemberDesc {
4864                            member_id: 1u32,
4865                            member_flags: 0u32,
4866                            type_id: xidl_typeobject::runtime::type_identifier_for::<
4867                                CommonAnnotationParameter,
4868                            >(
4869                                xidl_typeobject::runtime::TypeEquivalence::Complete
4870                            ),
4871                            name: "common",
4872                        },
4873                        xidl_typeobject::runtime::StructMemberDesc {
4874                            member_id: 2u32,
4875                            member_flags: 0u32,
4876                            type_id: xidl_typeobject::runtime::type_identifier_for::<MemberName>(
4877                                xidl_typeobject::runtime::TypeEquivalence::Complete,
4878                            ),
4879                            name: "name",
4880                        },
4881                        xidl_typeobject::runtime::StructMemberDesc {
4882                            member_id: 3u32,
4883                            member_flags: 0u32,
4884                            type_id: xidl_typeobject::runtime::type_identifier_for::<
4885                                AnnotationParameterValue,
4886                            >(
4887                                xidl_typeobject::runtime::TypeEquivalence::Complete
4888                            ),
4889                            name: "default_value",
4890                        },
4891                    ],
4892                )
4893            }
4894        }
4895        pub type CompleteAnnotationParameterSeq = Vec<CompleteAnnotationParameter>;
4896        pub struct MinimalAnnotationParameter {
4897            pub common: Box<CommonAnnotationParameter>,
4898
4899            pub name_hash: Box<NameHash>,
4900
4901            pub default_value: Box<AnnotationParameterValue>,
4902        }
4903
4904        impl MinimalAnnotationParameter {}
4905
4906        impl xidl_typeobject::XidlTypeObject for MinimalAnnotationParameter {
4907            fn minimal_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
4908                xidl_typeobject::runtime::build_minimal_struct(
4909                    0u32,
4910                    xidl_typeobject::runtime::type_identifier_none(),
4911                    vec![
4912                        xidl_typeobject::runtime::StructMemberDesc {
4913                            member_id: 1u32,
4914                            member_flags: 0u32,
4915                            type_id: xidl_typeobject::runtime::type_identifier_for::<
4916                                CommonAnnotationParameter,
4917                            >(
4918                                xidl_typeobject::runtime::TypeEquivalence::Minimal
4919                            ),
4920                            name: "common",
4921                        },
4922                        xidl_typeobject::runtime::StructMemberDesc {
4923                            member_id: 2u32,
4924                            member_flags: 0u32,
4925                            type_id: xidl_typeobject::runtime::type_identifier_for::<NameHash>(
4926                                xidl_typeobject::runtime::TypeEquivalence::Minimal,
4927                            ),
4928                            name: "name_hash",
4929                        },
4930                        xidl_typeobject::runtime::StructMemberDesc {
4931                            member_id: 3u32,
4932                            member_flags: 0u32,
4933                            type_id: xidl_typeobject::runtime::type_identifier_for::<
4934                                AnnotationParameterValue,
4935                            >(
4936                                xidl_typeobject::runtime::TypeEquivalence::Minimal
4937                            ),
4938                            name: "default_value",
4939                        },
4940                    ],
4941                )
4942            }
4943
4944            fn complete_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
4945                xidl_typeobject::runtime::build_complete_struct(
4946                    "DDS::XTypes::MinimalAnnotationParameter",
4947                    0u32,
4948                    xidl_typeobject::runtime::type_identifier_none(),
4949                    vec![
4950                        xidl_typeobject::runtime::StructMemberDesc {
4951                            member_id: 1u32,
4952                            member_flags: 0u32,
4953                            type_id: xidl_typeobject::runtime::type_identifier_for::<
4954                                CommonAnnotationParameter,
4955                            >(
4956                                xidl_typeobject::runtime::TypeEquivalence::Complete
4957                            ),
4958                            name: "common",
4959                        },
4960                        xidl_typeobject::runtime::StructMemberDesc {
4961                            member_id: 2u32,
4962                            member_flags: 0u32,
4963                            type_id: xidl_typeobject::runtime::type_identifier_for::<NameHash>(
4964                                xidl_typeobject::runtime::TypeEquivalence::Complete,
4965                            ),
4966                            name: "name_hash",
4967                        },
4968                        xidl_typeobject::runtime::StructMemberDesc {
4969                            member_id: 3u32,
4970                            member_flags: 0u32,
4971                            type_id: xidl_typeobject::runtime::type_identifier_for::<
4972                                AnnotationParameterValue,
4973                            >(
4974                                xidl_typeobject::runtime::TypeEquivalence::Complete
4975                            ),
4976                            name: "default_value",
4977                        },
4978                    ],
4979                )
4980            }
4981        }
4982        pub type MinimalAnnotationParameterSeq = Vec<MinimalAnnotationParameter>;
4983        pub struct CompleteAnnotationHeader {
4984            pub annotation_name: Box<QualifiedTypeName>,
4985        }
4986
4987        impl CompleteAnnotationHeader {}
4988
4989        impl xidl_typeobject::XidlTypeObject for CompleteAnnotationHeader {
4990            fn minimal_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
4991                xidl_typeobject::runtime::build_minimal_struct(
4992                    0u32,
4993                    xidl_typeobject::runtime::type_identifier_none(),
4994                    vec![xidl_typeobject::runtime::StructMemberDesc {
4995                        member_id: 1u32,
4996                        member_flags: 0u32,
4997                        type_id: xidl_typeobject::runtime::type_identifier_for::<QualifiedTypeName>(
4998                            xidl_typeobject::runtime::TypeEquivalence::Minimal,
4999                        ),
5000                        name: "annotation_name",
5001                    }],
5002                )
5003            }
5004
5005            fn complete_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
5006                xidl_typeobject::runtime::build_complete_struct(
5007                    "DDS::XTypes::CompleteAnnotationHeader",
5008                    0u32,
5009                    xidl_typeobject::runtime::type_identifier_none(),
5010                    vec![xidl_typeobject::runtime::StructMemberDesc {
5011                        member_id: 1u32,
5012                        member_flags: 0u32,
5013                        type_id: xidl_typeobject::runtime::type_identifier_for::<QualifiedTypeName>(
5014                            xidl_typeobject::runtime::TypeEquivalence::Complete,
5015                        ),
5016                        name: "annotation_name",
5017                    }],
5018                )
5019            }
5020        }
5021        pub struct MinimalAnnotationHeader {}
5022
5023        impl MinimalAnnotationHeader {}
5024
5025        impl xidl_typeobject::XidlTypeObject for MinimalAnnotationHeader {
5026            fn minimal_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
5027                xidl_typeobject::runtime::build_minimal_struct(
5028                    0u32,
5029                    xidl_typeobject::runtime::type_identifier_none(),
5030                    vec![],
5031                )
5032            }
5033
5034            fn complete_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
5035                xidl_typeobject::runtime::build_complete_struct(
5036                    "DDS::XTypes::MinimalAnnotationHeader",
5037                    0u32,
5038                    xidl_typeobject::runtime::type_identifier_none(),
5039                    vec![],
5040                )
5041            }
5042        }
5043        pub struct CompleteAnnotationType {
5044            pub annotation_flag: Box<AnnotationTypeFlag>,
5045
5046            pub header: Box<CompleteAnnotationHeader>,
5047
5048            pub member_seq: Box<CompleteAnnotationParameterSeq>,
5049        }
5050
5051        impl CompleteAnnotationType {}
5052
5053        impl xidl_typeobject::XidlTypeObject for CompleteAnnotationType {
5054            fn minimal_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
5055                xidl_typeobject::runtime::build_minimal_struct(
5056                    0u32,
5057                    xidl_typeobject::runtime::type_identifier_none(),
5058                    vec![
5059                        xidl_typeobject::runtime::StructMemberDesc {
5060                            member_id: 1u32,
5061                            member_flags: 0u32,
5062                            type_id: xidl_typeobject::runtime::type_identifier_for::<
5063                                AnnotationTypeFlag,
5064                            >(
5065                                xidl_typeobject::runtime::TypeEquivalence::Minimal
5066                            ),
5067                            name: "annotation_flag",
5068                        },
5069                        xidl_typeobject::runtime::StructMemberDesc {
5070                            member_id: 2u32,
5071                            member_flags: 0u32,
5072                            type_id: xidl_typeobject::runtime::type_identifier_for::<
5073                                CompleteAnnotationHeader,
5074                            >(
5075                                xidl_typeobject::runtime::TypeEquivalence::Minimal
5076                            ),
5077                            name: "header",
5078                        },
5079                        xidl_typeobject::runtime::StructMemberDesc {
5080                            member_id: 3u32,
5081                            member_flags: 0u32,
5082                            type_id: xidl_typeobject::runtime::type_identifier_for::<
5083                                CompleteAnnotationParameterSeq,
5084                            >(
5085                                xidl_typeobject::runtime::TypeEquivalence::Minimal
5086                            ),
5087                            name: "member_seq",
5088                        },
5089                    ],
5090                )
5091            }
5092
5093            fn complete_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
5094                xidl_typeobject::runtime::build_complete_struct(
5095                    "DDS::XTypes::CompleteAnnotationType",
5096                    0u32,
5097                    xidl_typeobject::runtime::type_identifier_none(),
5098                    vec![
5099                        xidl_typeobject::runtime::StructMemberDesc {
5100                            member_id: 1u32,
5101                            member_flags: 0u32,
5102                            type_id: xidl_typeobject::runtime::type_identifier_for::<
5103                                AnnotationTypeFlag,
5104                            >(
5105                                xidl_typeobject::runtime::TypeEquivalence::Complete
5106                            ),
5107                            name: "annotation_flag",
5108                        },
5109                        xidl_typeobject::runtime::StructMemberDesc {
5110                            member_id: 2u32,
5111                            member_flags: 0u32,
5112                            type_id: xidl_typeobject::runtime::type_identifier_for::<
5113                                CompleteAnnotationHeader,
5114                            >(
5115                                xidl_typeobject::runtime::TypeEquivalence::Complete
5116                            ),
5117                            name: "header",
5118                        },
5119                        xidl_typeobject::runtime::StructMemberDesc {
5120                            member_id: 3u32,
5121                            member_flags: 0u32,
5122                            type_id: xidl_typeobject::runtime::type_identifier_for::<
5123                                CompleteAnnotationParameterSeq,
5124                            >(
5125                                xidl_typeobject::runtime::TypeEquivalence::Complete
5126                            ),
5127                            name: "member_seq",
5128                        },
5129                    ],
5130                )
5131            }
5132        }
5133        pub struct MinimalAnnotationType {
5134            pub annotation_flag: Box<AnnotationTypeFlag>,
5135
5136            pub header: Box<MinimalAnnotationHeader>,
5137
5138            pub member_seq: Box<MinimalAnnotationParameterSeq>,
5139        }
5140
5141        impl MinimalAnnotationType {}
5142
5143        impl xidl_typeobject::XidlTypeObject for MinimalAnnotationType {
5144            fn minimal_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
5145                xidl_typeobject::runtime::build_minimal_struct(
5146                    0u32,
5147                    xidl_typeobject::runtime::type_identifier_none(),
5148                    vec![
5149                        xidl_typeobject::runtime::StructMemberDesc {
5150                            member_id: 1u32,
5151                            member_flags: 0u32,
5152                            type_id: xidl_typeobject::runtime::type_identifier_for::<
5153                                AnnotationTypeFlag,
5154                            >(
5155                                xidl_typeobject::runtime::TypeEquivalence::Minimal
5156                            ),
5157                            name: "annotation_flag",
5158                        },
5159                        xidl_typeobject::runtime::StructMemberDesc {
5160                            member_id: 2u32,
5161                            member_flags: 0u32,
5162                            type_id: xidl_typeobject::runtime::type_identifier_for::<
5163                                MinimalAnnotationHeader,
5164                            >(
5165                                xidl_typeobject::runtime::TypeEquivalence::Minimal
5166                            ),
5167                            name: "header",
5168                        },
5169                        xidl_typeobject::runtime::StructMemberDesc {
5170                            member_id: 3u32,
5171                            member_flags: 0u32,
5172                            type_id: xidl_typeobject::runtime::type_identifier_for::<
5173                                MinimalAnnotationParameterSeq,
5174                            >(
5175                                xidl_typeobject::runtime::TypeEquivalence::Minimal
5176                            ),
5177                            name: "member_seq",
5178                        },
5179                    ],
5180                )
5181            }
5182
5183            fn complete_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
5184                xidl_typeobject::runtime::build_complete_struct(
5185                    "DDS::XTypes::MinimalAnnotationType",
5186                    0u32,
5187                    xidl_typeobject::runtime::type_identifier_none(),
5188                    vec![
5189                        xidl_typeobject::runtime::StructMemberDesc {
5190                            member_id: 1u32,
5191                            member_flags: 0u32,
5192                            type_id: xidl_typeobject::runtime::type_identifier_for::<
5193                                AnnotationTypeFlag,
5194                            >(
5195                                xidl_typeobject::runtime::TypeEquivalence::Complete
5196                            ),
5197                            name: "annotation_flag",
5198                        },
5199                        xidl_typeobject::runtime::StructMemberDesc {
5200                            member_id: 2u32,
5201                            member_flags: 0u32,
5202                            type_id: xidl_typeobject::runtime::type_identifier_for::<
5203                                MinimalAnnotationHeader,
5204                            >(
5205                                xidl_typeobject::runtime::TypeEquivalence::Complete
5206                            ),
5207                            name: "header",
5208                        },
5209                        xidl_typeobject::runtime::StructMemberDesc {
5210                            member_id: 3u32,
5211                            member_flags: 0u32,
5212                            type_id: xidl_typeobject::runtime::type_identifier_for::<
5213                                MinimalAnnotationParameterSeq,
5214                            >(
5215                                xidl_typeobject::runtime::TypeEquivalence::Complete
5216                            ),
5217                            name: "member_seq",
5218                        },
5219                    ],
5220                )
5221            }
5222        }
5223        pub struct CommonAliasBody {
5224            pub related_flags: Box<AliasMemberFlag>,
5225
5226            pub related_type: Box<TypeIdentifier>,
5227        }
5228
5229        impl CommonAliasBody {}
5230
5231        impl xidl_typeobject::XidlTypeObject for CommonAliasBody {
5232            fn minimal_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
5233                xidl_typeobject::runtime::build_minimal_struct(
5234                    0u32,
5235                    xidl_typeobject::runtime::type_identifier_none(),
5236                    vec![
5237                        xidl_typeobject::runtime::StructMemberDesc {
5238                            member_id: 1u32,
5239                            member_flags: 0u32,
5240                            type_id: xidl_typeobject::runtime::type_identifier_for::<AliasMemberFlag>(
5241                                xidl_typeobject::runtime::TypeEquivalence::Minimal,
5242                            ),
5243                            name: "related_flags",
5244                        },
5245                        xidl_typeobject::runtime::StructMemberDesc {
5246                            member_id: 2u32,
5247                            member_flags: 0u32,
5248                            type_id: xidl_typeobject::runtime::type_identifier_for::<TypeIdentifier>(
5249                                xidl_typeobject::runtime::TypeEquivalence::Minimal,
5250                            ),
5251                            name: "related_type",
5252                        },
5253                    ],
5254                )
5255            }
5256
5257            fn complete_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
5258                xidl_typeobject::runtime::build_complete_struct(
5259                    "DDS::XTypes::CommonAliasBody",
5260                    0u32,
5261                    xidl_typeobject::runtime::type_identifier_none(),
5262                    vec![
5263                        xidl_typeobject::runtime::StructMemberDesc {
5264                            member_id: 1u32,
5265                            member_flags: 0u32,
5266                            type_id: xidl_typeobject::runtime::type_identifier_for::<AliasMemberFlag>(
5267                                xidl_typeobject::runtime::TypeEquivalence::Complete,
5268                            ),
5269                            name: "related_flags",
5270                        },
5271                        xidl_typeobject::runtime::StructMemberDesc {
5272                            member_id: 2u32,
5273                            member_flags: 0u32,
5274                            type_id: xidl_typeobject::runtime::type_identifier_for::<TypeIdentifier>(
5275                                xidl_typeobject::runtime::TypeEquivalence::Complete,
5276                            ),
5277                            name: "related_type",
5278                        },
5279                    ],
5280                )
5281            }
5282        }
5283        pub struct CompleteAliasBody {
5284            pub common: Box<CommonAliasBody>,
5285
5286            pub ann_builtin: Box<AppliedBuiltinMemberAnnotations>,
5287
5288            pub ann_custom: Box<AppliedAnnotationSeq>,
5289        }
5290
5291        impl CompleteAliasBody {}
5292
5293        impl xidl_typeobject::XidlTypeObject for CompleteAliasBody {
5294            fn minimal_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
5295                xidl_typeobject::runtime::build_minimal_struct(
5296                    0u32,
5297                    xidl_typeobject::runtime::type_identifier_none(),
5298                    vec![
5299                        xidl_typeobject::runtime::StructMemberDesc {
5300                            member_id: 1u32,
5301                            member_flags: 0u32,
5302                            type_id: xidl_typeobject::runtime::type_identifier_for::<CommonAliasBody>(
5303                                xidl_typeobject::runtime::TypeEquivalence::Minimal,
5304                            ),
5305                            name: "common",
5306                        },
5307                        xidl_typeobject::runtime::StructMemberDesc {
5308                            member_id: 2u32,
5309                            member_flags: 0u32,
5310                            type_id: xidl_typeobject::runtime::type_identifier_for::<
5311                                AppliedBuiltinMemberAnnotations,
5312                            >(
5313                                xidl_typeobject::runtime::TypeEquivalence::Minimal
5314                            ),
5315                            name: "ann_builtin",
5316                        },
5317                        xidl_typeobject::runtime::StructMemberDesc {
5318                            member_id: 3u32,
5319                            member_flags: 0u32,
5320                            type_id: xidl_typeobject::runtime::type_identifier_for::<
5321                                AppliedAnnotationSeq,
5322                            >(
5323                                xidl_typeobject::runtime::TypeEquivalence::Minimal
5324                            ),
5325                            name: "ann_custom",
5326                        },
5327                    ],
5328                )
5329            }
5330
5331            fn complete_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
5332                xidl_typeobject::runtime::build_complete_struct(
5333                    "DDS::XTypes::CompleteAliasBody",
5334                    0u32,
5335                    xidl_typeobject::runtime::type_identifier_none(),
5336                    vec![
5337                        xidl_typeobject::runtime::StructMemberDesc {
5338                            member_id: 1u32,
5339                            member_flags: 0u32,
5340                            type_id: xidl_typeobject::runtime::type_identifier_for::<CommonAliasBody>(
5341                                xidl_typeobject::runtime::TypeEquivalence::Complete,
5342                            ),
5343                            name: "common",
5344                        },
5345                        xidl_typeobject::runtime::StructMemberDesc {
5346                            member_id: 2u32,
5347                            member_flags: 0u32,
5348                            type_id: xidl_typeobject::runtime::type_identifier_for::<
5349                                AppliedBuiltinMemberAnnotations,
5350                            >(
5351                                xidl_typeobject::runtime::TypeEquivalence::Complete
5352                            ),
5353                            name: "ann_builtin",
5354                        },
5355                        xidl_typeobject::runtime::StructMemberDesc {
5356                            member_id: 3u32,
5357                            member_flags: 0u32,
5358                            type_id: xidl_typeobject::runtime::type_identifier_for::<
5359                                AppliedAnnotationSeq,
5360                            >(
5361                                xidl_typeobject::runtime::TypeEquivalence::Complete
5362                            ),
5363                            name: "ann_custom",
5364                        },
5365                    ],
5366                )
5367            }
5368        }
5369        pub struct MinimalAliasBody {
5370            pub common: Box<CommonAliasBody>,
5371        }
5372
5373        impl MinimalAliasBody {}
5374
5375        impl xidl_typeobject::XidlTypeObject for MinimalAliasBody {
5376            fn minimal_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
5377                xidl_typeobject::runtime::build_minimal_struct(
5378                    0u32,
5379                    xidl_typeobject::runtime::type_identifier_none(),
5380                    vec![xidl_typeobject::runtime::StructMemberDesc {
5381                        member_id: 1u32,
5382                        member_flags: 0u32,
5383                        type_id: xidl_typeobject::runtime::type_identifier_for::<CommonAliasBody>(
5384                            xidl_typeobject::runtime::TypeEquivalence::Minimal,
5385                        ),
5386                        name: "common",
5387                    }],
5388                )
5389            }
5390
5391            fn complete_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
5392                xidl_typeobject::runtime::build_complete_struct(
5393                    "DDS::XTypes::MinimalAliasBody",
5394                    0u32,
5395                    xidl_typeobject::runtime::type_identifier_none(),
5396                    vec![xidl_typeobject::runtime::StructMemberDesc {
5397                        member_id: 1u32,
5398                        member_flags: 0u32,
5399                        type_id: xidl_typeobject::runtime::type_identifier_for::<CommonAliasBody>(
5400                            xidl_typeobject::runtime::TypeEquivalence::Complete,
5401                        ),
5402                        name: "common",
5403                    }],
5404                )
5405            }
5406        }
5407        pub struct CompleteAliasHeader {
5408            pub detail: Box<CompleteTypeDetail>,
5409        }
5410
5411        impl CompleteAliasHeader {}
5412
5413        impl xidl_typeobject::XidlTypeObject for CompleteAliasHeader {
5414            fn minimal_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
5415                xidl_typeobject::runtime::build_minimal_struct(
5416                    0u32,
5417                    xidl_typeobject::runtime::type_identifier_none(),
5418                    vec![xidl_typeobject::runtime::StructMemberDesc {
5419                        member_id: 1u32,
5420                        member_flags: 0u32,
5421                        type_id: xidl_typeobject::runtime::type_identifier_for::<CompleteTypeDetail>(
5422                            xidl_typeobject::runtime::TypeEquivalence::Minimal,
5423                        ),
5424                        name: "detail",
5425                    }],
5426                )
5427            }
5428
5429            fn complete_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
5430                xidl_typeobject::runtime::build_complete_struct(
5431                    "DDS::XTypes::CompleteAliasHeader",
5432                    0u32,
5433                    xidl_typeobject::runtime::type_identifier_none(),
5434                    vec![xidl_typeobject::runtime::StructMemberDesc {
5435                        member_id: 1u32,
5436                        member_flags: 0u32,
5437                        type_id: xidl_typeobject::runtime::type_identifier_for::<CompleteTypeDetail>(
5438                            xidl_typeobject::runtime::TypeEquivalence::Complete,
5439                        ),
5440                        name: "detail",
5441                    }],
5442                )
5443            }
5444        }
5445        pub struct MinimalAliasHeader {}
5446
5447        impl MinimalAliasHeader {}
5448
5449        impl xidl_typeobject::XidlTypeObject for MinimalAliasHeader {
5450            fn minimal_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
5451                xidl_typeobject::runtime::build_minimal_struct(
5452                    0u32,
5453                    xidl_typeobject::runtime::type_identifier_none(),
5454                    vec![],
5455                )
5456            }
5457
5458            fn complete_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
5459                xidl_typeobject::runtime::build_complete_struct(
5460                    "DDS::XTypes::MinimalAliasHeader",
5461                    0u32,
5462                    xidl_typeobject::runtime::type_identifier_none(),
5463                    vec![],
5464                )
5465            }
5466        }
5467        pub struct CompleteAliasType {
5468            pub alias_flags: Box<AliasTypeFlag>,
5469
5470            pub header: Box<CompleteAliasHeader>,
5471
5472            pub body: Box<CompleteAliasBody>,
5473        }
5474
5475        impl CompleteAliasType {}
5476
5477        impl xidl_typeobject::XidlTypeObject for CompleteAliasType {
5478            fn minimal_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
5479                xidl_typeobject::runtime::build_minimal_struct(
5480                    0u32,
5481                    xidl_typeobject::runtime::type_identifier_none(),
5482                    vec![
5483                        xidl_typeobject::runtime::StructMemberDesc {
5484                            member_id: 1u32,
5485                            member_flags: 0u32,
5486                            type_id: xidl_typeobject::runtime::type_identifier_for::<AliasTypeFlag>(
5487                                xidl_typeobject::runtime::TypeEquivalence::Minimal,
5488                            ),
5489                            name: "alias_flags",
5490                        },
5491                        xidl_typeobject::runtime::StructMemberDesc {
5492                            member_id: 2u32,
5493                            member_flags: 0u32,
5494                            type_id: xidl_typeobject::runtime::type_identifier_for::<
5495                                CompleteAliasHeader,
5496                            >(
5497                                xidl_typeobject::runtime::TypeEquivalence::Minimal
5498                            ),
5499                            name: "header",
5500                        },
5501                        xidl_typeobject::runtime::StructMemberDesc {
5502                            member_id: 3u32,
5503                            member_flags: 0u32,
5504                            type_id: xidl_typeobject::runtime::type_identifier_for::<
5505                                CompleteAliasBody,
5506                            >(
5507                                xidl_typeobject::runtime::TypeEquivalence::Minimal
5508                            ),
5509                            name: "body",
5510                        },
5511                    ],
5512                )
5513            }
5514
5515            fn complete_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
5516                xidl_typeobject::runtime::build_complete_struct(
5517                    "DDS::XTypes::CompleteAliasType",
5518                    0u32,
5519                    xidl_typeobject::runtime::type_identifier_none(),
5520                    vec![
5521                        xidl_typeobject::runtime::StructMemberDesc {
5522                            member_id: 1u32,
5523                            member_flags: 0u32,
5524                            type_id: xidl_typeobject::runtime::type_identifier_for::<AliasTypeFlag>(
5525                                xidl_typeobject::runtime::TypeEquivalence::Complete,
5526                            ),
5527                            name: "alias_flags",
5528                        },
5529                        xidl_typeobject::runtime::StructMemberDesc {
5530                            member_id: 2u32,
5531                            member_flags: 0u32,
5532                            type_id: xidl_typeobject::runtime::type_identifier_for::<
5533                                CompleteAliasHeader,
5534                            >(
5535                                xidl_typeobject::runtime::TypeEquivalence::Complete
5536                            ),
5537                            name: "header",
5538                        },
5539                        xidl_typeobject::runtime::StructMemberDesc {
5540                            member_id: 3u32,
5541                            member_flags: 0u32,
5542                            type_id: xidl_typeobject::runtime::type_identifier_for::<
5543                                CompleteAliasBody,
5544                            >(
5545                                xidl_typeobject::runtime::TypeEquivalence::Complete
5546                            ),
5547                            name: "body",
5548                        },
5549                    ],
5550                )
5551            }
5552        }
5553        pub struct MinimalAliasType {
5554            pub alias_flags: Box<AliasTypeFlag>,
5555
5556            pub header: Box<MinimalAliasHeader>,
5557
5558            pub body: Box<MinimalAliasBody>,
5559        }
5560
5561        impl MinimalAliasType {}
5562
5563        impl xidl_typeobject::XidlTypeObject for MinimalAliasType {
5564            fn minimal_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
5565                xidl_typeobject::runtime::build_minimal_struct(
5566                    0u32,
5567                    xidl_typeobject::runtime::type_identifier_none(),
5568                    vec![
5569                        xidl_typeobject::runtime::StructMemberDesc {
5570                            member_id: 1u32,
5571                            member_flags: 0u32,
5572                            type_id: xidl_typeobject::runtime::type_identifier_for::<AliasTypeFlag>(
5573                                xidl_typeobject::runtime::TypeEquivalence::Minimal,
5574                            ),
5575                            name: "alias_flags",
5576                        },
5577                        xidl_typeobject::runtime::StructMemberDesc {
5578                            member_id: 2u32,
5579                            member_flags: 0u32,
5580                            type_id: xidl_typeobject::runtime::type_identifier_for::<
5581                                MinimalAliasHeader,
5582                            >(
5583                                xidl_typeobject::runtime::TypeEquivalence::Minimal
5584                            ),
5585                            name: "header",
5586                        },
5587                        xidl_typeobject::runtime::StructMemberDesc {
5588                            member_id: 3u32,
5589                            member_flags: 0u32,
5590                            type_id: xidl_typeobject::runtime::type_identifier_for::<
5591                                MinimalAliasBody,
5592                            >(
5593                                xidl_typeobject::runtime::TypeEquivalence::Minimal
5594                            ),
5595                            name: "body",
5596                        },
5597                    ],
5598                )
5599            }
5600
5601            fn complete_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
5602                xidl_typeobject::runtime::build_complete_struct(
5603                    "DDS::XTypes::MinimalAliasType",
5604                    0u32,
5605                    xidl_typeobject::runtime::type_identifier_none(),
5606                    vec![
5607                        xidl_typeobject::runtime::StructMemberDesc {
5608                            member_id: 1u32,
5609                            member_flags: 0u32,
5610                            type_id: xidl_typeobject::runtime::type_identifier_for::<AliasTypeFlag>(
5611                                xidl_typeobject::runtime::TypeEquivalence::Complete,
5612                            ),
5613                            name: "alias_flags",
5614                        },
5615                        xidl_typeobject::runtime::StructMemberDesc {
5616                            member_id: 2u32,
5617                            member_flags: 0u32,
5618                            type_id: xidl_typeobject::runtime::type_identifier_for::<
5619                                MinimalAliasHeader,
5620                            >(
5621                                xidl_typeobject::runtime::TypeEquivalence::Complete
5622                            ),
5623                            name: "header",
5624                        },
5625                        xidl_typeobject::runtime::StructMemberDesc {
5626                            member_id: 3u32,
5627                            member_flags: 0u32,
5628                            type_id: xidl_typeobject::runtime::type_identifier_for::<
5629                                MinimalAliasBody,
5630                            >(
5631                                xidl_typeobject::runtime::TypeEquivalence::Complete
5632                            ),
5633                            name: "body",
5634                        },
5635                    ],
5636                )
5637            }
5638        }
5639        pub struct CompleteElementDetail {
5640            pub ann_builtin: Box<AppliedBuiltinMemberAnnotations>,
5641
5642            pub ann_custom: Box<AppliedAnnotationSeq>,
5643        }
5644
5645        impl CompleteElementDetail {}
5646
5647        impl xidl_typeobject::XidlTypeObject for CompleteElementDetail {
5648            fn minimal_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
5649                xidl_typeobject::runtime::build_minimal_struct(
5650                    0u32,
5651                    xidl_typeobject::runtime::type_identifier_none(),
5652                    vec![
5653                        xidl_typeobject::runtime::StructMemberDesc {
5654                            member_id: 1u32,
5655                            member_flags: 0u32,
5656                            type_id: xidl_typeobject::runtime::type_identifier_for::<
5657                                AppliedBuiltinMemberAnnotations,
5658                            >(
5659                                xidl_typeobject::runtime::TypeEquivalence::Minimal
5660                            ),
5661                            name: "ann_builtin",
5662                        },
5663                        xidl_typeobject::runtime::StructMemberDesc {
5664                            member_id: 2u32,
5665                            member_flags: 0u32,
5666                            type_id: xidl_typeobject::runtime::type_identifier_for::<
5667                                AppliedAnnotationSeq,
5668                            >(
5669                                xidl_typeobject::runtime::TypeEquivalence::Minimal
5670                            ),
5671                            name: "ann_custom",
5672                        },
5673                    ],
5674                )
5675            }
5676
5677            fn complete_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
5678                xidl_typeobject::runtime::build_complete_struct(
5679                    "DDS::XTypes::CompleteElementDetail",
5680                    0u32,
5681                    xidl_typeobject::runtime::type_identifier_none(),
5682                    vec![
5683                        xidl_typeobject::runtime::StructMemberDesc {
5684                            member_id: 1u32,
5685                            member_flags: 0u32,
5686                            type_id: xidl_typeobject::runtime::type_identifier_for::<
5687                                AppliedBuiltinMemberAnnotations,
5688                            >(
5689                                xidl_typeobject::runtime::TypeEquivalence::Complete
5690                            ),
5691                            name: "ann_builtin",
5692                        },
5693                        xidl_typeobject::runtime::StructMemberDesc {
5694                            member_id: 2u32,
5695                            member_flags: 0u32,
5696                            type_id: xidl_typeobject::runtime::type_identifier_for::<
5697                                AppliedAnnotationSeq,
5698                            >(
5699                                xidl_typeobject::runtime::TypeEquivalence::Complete
5700                            ),
5701                            name: "ann_custom",
5702                        },
5703                    ],
5704                )
5705            }
5706        }
5707        pub struct CommonCollectionElement {
5708            pub element_flags: Box<CollectionElementFlag>,
5709
5710            pub r#type: Box<TypeIdentifier>,
5711        }
5712
5713        impl CommonCollectionElement {}
5714
5715        impl xidl_typeobject::XidlTypeObject for CommonCollectionElement {
5716            fn minimal_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
5717                xidl_typeobject::runtime::build_minimal_struct(
5718                    0u32,
5719                    xidl_typeobject::runtime::type_identifier_none(),
5720                    vec![
5721                        xidl_typeobject::runtime::StructMemberDesc {
5722                            member_id: 1u32,
5723                            member_flags: 0u32,
5724                            type_id: xidl_typeobject::runtime::type_identifier_for::<
5725                                CollectionElementFlag,
5726                            >(
5727                                xidl_typeobject::runtime::TypeEquivalence::Minimal
5728                            ),
5729                            name: "element_flags",
5730                        },
5731                        xidl_typeobject::runtime::StructMemberDesc {
5732                            member_id: 2u32,
5733                            member_flags: 0u32,
5734                            type_id: xidl_typeobject::runtime::type_identifier_for::<TypeIdentifier>(
5735                                xidl_typeobject::runtime::TypeEquivalence::Minimal,
5736                            ),
5737                            name: "type",
5738                        },
5739                    ],
5740                )
5741            }
5742
5743            fn complete_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
5744                xidl_typeobject::runtime::build_complete_struct(
5745                    "DDS::XTypes::CommonCollectionElement",
5746                    0u32,
5747                    xidl_typeobject::runtime::type_identifier_none(),
5748                    vec![
5749                        xidl_typeobject::runtime::StructMemberDesc {
5750                            member_id: 1u32,
5751                            member_flags: 0u32,
5752                            type_id: xidl_typeobject::runtime::type_identifier_for::<
5753                                CollectionElementFlag,
5754                            >(
5755                                xidl_typeobject::runtime::TypeEquivalence::Complete
5756                            ),
5757                            name: "element_flags",
5758                        },
5759                        xidl_typeobject::runtime::StructMemberDesc {
5760                            member_id: 2u32,
5761                            member_flags: 0u32,
5762                            type_id: xidl_typeobject::runtime::type_identifier_for::<TypeIdentifier>(
5763                                xidl_typeobject::runtime::TypeEquivalence::Complete,
5764                            ),
5765                            name: "type",
5766                        },
5767                    ],
5768                )
5769            }
5770        }
5771        pub struct CompleteCollectionElement {
5772            pub common: Box<CommonCollectionElement>,
5773
5774            pub detail: Box<CompleteElementDetail>,
5775        }
5776
5777        impl CompleteCollectionElement {}
5778
5779        impl xidl_typeobject::XidlTypeObject for CompleteCollectionElement {
5780            fn minimal_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
5781                xidl_typeobject::runtime::build_minimal_struct(
5782                    0u32,
5783                    xidl_typeobject::runtime::type_identifier_none(),
5784                    vec![
5785                        xidl_typeobject::runtime::StructMemberDesc {
5786                            member_id: 1u32,
5787                            member_flags: 0u32,
5788                            type_id: xidl_typeobject::runtime::type_identifier_for::<
5789                                CommonCollectionElement,
5790                            >(
5791                                xidl_typeobject::runtime::TypeEquivalence::Minimal
5792                            ),
5793                            name: "common",
5794                        },
5795                        xidl_typeobject::runtime::StructMemberDesc {
5796                            member_id: 2u32,
5797                            member_flags: 0u32,
5798                            type_id: xidl_typeobject::runtime::type_identifier_for::<
5799                                CompleteElementDetail,
5800                            >(
5801                                xidl_typeobject::runtime::TypeEquivalence::Minimal
5802                            ),
5803                            name: "detail",
5804                        },
5805                    ],
5806                )
5807            }
5808
5809            fn complete_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
5810                xidl_typeobject::runtime::build_complete_struct(
5811                    "DDS::XTypes::CompleteCollectionElement",
5812                    0u32,
5813                    xidl_typeobject::runtime::type_identifier_none(),
5814                    vec![
5815                        xidl_typeobject::runtime::StructMemberDesc {
5816                            member_id: 1u32,
5817                            member_flags: 0u32,
5818                            type_id: xidl_typeobject::runtime::type_identifier_for::<
5819                                CommonCollectionElement,
5820                            >(
5821                                xidl_typeobject::runtime::TypeEquivalence::Complete
5822                            ),
5823                            name: "common",
5824                        },
5825                        xidl_typeobject::runtime::StructMemberDesc {
5826                            member_id: 2u32,
5827                            member_flags: 0u32,
5828                            type_id: xidl_typeobject::runtime::type_identifier_for::<
5829                                CompleteElementDetail,
5830                            >(
5831                                xidl_typeobject::runtime::TypeEquivalence::Complete
5832                            ),
5833                            name: "detail",
5834                        },
5835                    ],
5836                )
5837            }
5838        }
5839        pub struct MinimalCollectionElement {
5840            pub common: Box<CommonCollectionElement>,
5841        }
5842
5843        impl MinimalCollectionElement {}
5844
5845        impl xidl_typeobject::XidlTypeObject for MinimalCollectionElement {
5846            fn minimal_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
5847                xidl_typeobject::runtime::build_minimal_struct(
5848                    0u32,
5849                    xidl_typeobject::runtime::type_identifier_none(),
5850                    vec![xidl_typeobject::runtime::StructMemberDesc {
5851                        member_id: 1u32,
5852                        member_flags: 0u32,
5853                        type_id: xidl_typeobject::runtime::type_identifier_for::<
5854                            CommonCollectionElement,
5855                        >(
5856                            xidl_typeobject::runtime::TypeEquivalence::Minimal
5857                        ),
5858                        name: "common",
5859                    }],
5860                )
5861            }
5862
5863            fn complete_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
5864                xidl_typeobject::runtime::build_complete_struct(
5865                    "DDS::XTypes::MinimalCollectionElement",
5866                    0u32,
5867                    xidl_typeobject::runtime::type_identifier_none(),
5868                    vec![xidl_typeobject::runtime::StructMemberDesc {
5869                        member_id: 1u32,
5870                        member_flags: 0u32,
5871                        type_id: xidl_typeobject::runtime::type_identifier_for::<
5872                            CommonCollectionElement,
5873                        >(
5874                            xidl_typeobject::runtime::TypeEquivalence::Complete
5875                        ),
5876                        name: "common",
5877                    }],
5878                )
5879            }
5880        }
5881        pub struct CommonCollectionHeader {
5882            pub bound: Box<LBound>,
5883        }
5884
5885        impl CommonCollectionHeader {}
5886
5887        impl xidl_typeobject::XidlTypeObject for CommonCollectionHeader {
5888            fn minimal_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
5889                xidl_typeobject::runtime::build_minimal_struct(
5890                    0u32,
5891                    xidl_typeobject::runtime::type_identifier_none(),
5892                    vec![xidl_typeobject::runtime::StructMemberDesc {
5893                        member_id: 1u32,
5894                        member_flags: 0u32,
5895                        type_id: xidl_typeobject::runtime::type_identifier_for::<LBound>(
5896                            xidl_typeobject::runtime::TypeEquivalence::Minimal,
5897                        ),
5898                        name: "bound",
5899                    }],
5900                )
5901            }
5902
5903            fn complete_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
5904                xidl_typeobject::runtime::build_complete_struct(
5905                    "DDS::XTypes::CommonCollectionHeader",
5906                    0u32,
5907                    xidl_typeobject::runtime::type_identifier_none(),
5908                    vec![xidl_typeobject::runtime::StructMemberDesc {
5909                        member_id: 1u32,
5910                        member_flags: 0u32,
5911                        type_id: xidl_typeobject::runtime::type_identifier_for::<LBound>(
5912                            xidl_typeobject::runtime::TypeEquivalence::Complete,
5913                        ),
5914                        name: "bound",
5915                    }],
5916                )
5917            }
5918        }
5919        pub struct CompleteCollectionHeader {
5920            pub common: Box<CommonCollectionHeader>,
5921
5922            pub detail: Box<CompleteTypeDetail>,
5923        }
5924
5925        impl CompleteCollectionHeader {}
5926
5927        impl xidl_typeobject::XidlTypeObject for CompleteCollectionHeader {
5928            fn minimal_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
5929                xidl_typeobject::runtime::build_minimal_struct(
5930                    0u32,
5931                    xidl_typeobject::runtime::type_identifier_none(),
5932                    vec![
5933                        xidl_typeobject::runtime::StructMemberDesc {
5934                            member_id: 1u32,
5935                            member_flags: 0u32,
5936                            type_id: xidl_typeobject::runtime::type_identifier_for::<
5937                                CommonCollectionHeader,
5938                            >(
5939                                xidl_typeobject::runtime::TypeEquivalence::Minimal
5940                            ),
5941                            name: "common",
5942                        },
5943                        xidl_typeobject::runtime::StructMemberDesc {
5944                            member_id: 2u32,
5945                            member_flags: 0u32,
5946                            type_id: xidl_typeobject::runtime::type_identifier_for::<
5947                                CompleteTypeDetail,
5948                            >(
5949                                xidl_typeobject::runtime::TypeEquivalence::Minimal
5950                            ),
5951                            name: "detail",
5952                        },
5953                    ],
5954                )
5955            }
5956
5957            fn complete_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
5958                xidl_typeobject::runtime::build_complete_struct(
5959                    "DDS::XTypes::CompleteCollectionHeader",
5960                    0u32,
5961                    xidl_typeobject::runtime::type_identifier_none(),
5962                    vec![
5963                        xidl_typeobject::runtime::StructMemberDesc {
5964                            member_id: 1u32,
5965                            member_flags: 0u32,
5966                            type_id: xidl_typeobject::runtime::type_identifier_for::<
5967                                CommonCollectionHeader,
5968                            >(
5969                                xidl_typeobject::runtime::TypeEquivalence::Complete
5970                            ),
5971                            name: "common",
5972                        },
5973                        xidl_typeobject::runtime::StructMemberDesc {
5974                            member_id: 2u32,
5975                            member_flags: 0u32,
5976                            type_id: xidl_typeobject::runtime::type_identifier_for::<
5977                                CompleteTypeDetail,
5978                            >(
5979                                xidl_typeobject::runtime::TypeEquivalence::Complete
5980                            ),
5981                            name: "detail",
5982                        },
5983                    ],
5984                )
5985            }
5986        }
5987        pub struct MinimalCollectionHeader {
5988            pub common: Box<CommonCollectionHeader>,
5989        }
5990
5991        impl MinimalCollectionHeader {}
5992
5993        impl xidl_typeobject::XidlTypeObject for MinimalCollectionHeader {
5994            fn minimal_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
5995                xidl_typeobject::runtime::build_minimal_struct(
5996                    0u32,
5997                    xidl_typeobject::runtime::type_identifier_none(),
5998                    vec![xidl_typeobject::runtime::StructMemberDesc {
5999                        member_id: 1u32,
6000                        member_flags: 0u32,
6001                        type_id: xidl_typeobject::runtime::type_identifier_for::<
6002                            CommonCollectionHeader,
6003                        >(
6004                            xidl_typeobject::runtime::TypeEquivalence::Minimal
6005                        ),
6006                        name: "common",
6007                    }],
6008                )
6009            }
6010
6011            fn complete_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
6012                xidl_typeobject::runtime::build_complete_struct(
6013                    "DDS::XTypes::MinimalCollectionHeader",
6014                    0u32,
6015                    xidl_typeobject::runtime::type_identifier_none(),
6016                    vec![xidl_typeobject::runtime::StructMemberDesc {
6017                        member_id: 1u32,
6018                        member_flags: 0u32,
6019                        type_id: xidl_typeobject::runtime::type_identifier_for::<
6020                            CommonCollectionHeader,
6021                        >(
6022                            xidl_typeobject::runtime::TypeEquivalence::Complete
6023                        ),
6024                        name: "common",
6025                    }],
6026                )
6027            }
6028        }
6029        pub struct CompleteSequenceType {
6030            pub collection_flag: Box<CollectionTypeFlag>,
6031
6032            pub header: Box<CompleteCollectionHeader>,
6033
6034            pub element: Box<CompleteCollectionElement>,
6035        }
6036
6037        impl CompleteSequenceType {}
6038
6039        impl xidl_typeobject::XidlTypeObject for CompleteSequenceType {
6040            fn minimal_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
6041                xidl_typeobject::runtime::build_minimal_struct(
6042                    0u32,
6043                    xidl_typeobject::runtime::type_identifier_none(),
6044                    vec![
6045                        xidl_typeobject::runtime::StructMemberDesc {
6046                            member_id: 1u32,
6047                            member_flags: 0u32,
6048                            type_id: xidl_typeobject::runtime::type_identifier_for::<
6049                                CollectionTypeFlag,
6050                            >(
6051                                xidl_typeobject::runtime::TypeEquivalence::Minimal
6052                            ),
6053                            name: "collection_flag",
6054                        },
6055                        xidl_typeobject::runtime::StructMemberDesc {
6056                            member_id: 2u32,
6057                            member_flags: 0u32,
6058                            type_id: xidl_typeobject::runtime::type_identifier_for::<
6059                                CompleteCollectionHeader,
6060                            >(
6061                                xidl_typeobject::runtime::TypeEquivalence::Minimal
6062                            ),
6063                            name: "header",
6064                        },
6065                        xidl_typeobject::runtime::StructMemberDesc {
6066                            member_id: 3u32,
6067                            member_flags: 0u32,
6068                            type_id: xidl_typeobject::runtime::type_identifier_for::<
6069                                CompleteCollectionElement,
6070                            >(
6071                                xidl_typeobject::runtime::TypeEquivalence::Minimal
6072                            ),
6073                            name: "element",
6074                        },
6075                    ],
6076                )
6077            }
6078
6079            fn complete_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
6080                xidl_typeobject::runtime::build_complete_struct(
6081                    "DDS::XTypes::CompleteSequenceType",
6082                    0u32,
6083                    xidl_typeobject::runtime::type_identifier_none(),
6084                    vec![
6085                        xidl_typeobject::runtime::StructMemberDesc {
6086                            member_id: 1u32,
6087                            member_flags: 0u32,
6088                            type_id: xidl_typeobject::runtime::type_identifier_for::<
6089                                CollectionTypeFlag,
6090                            >(
6091                                xidl_typeobject::runtime::TypeEquivalence::Complete
6092                            ),
6093                            name: "collection_flag",
6094                        },
6095                        xidl_typeobject::runtime::StructMemberDesc {
6096                            member_id: 2u32,
6097                            member_flags: 0u32,
6098                            type_id: xidl_typeobject::runtime::type_identifier_for::<
6099                                CompleteCollectionHeader,
6100                            >(
6101                                xidl_typeobject::runtime::TypeEquivalence::Complete
6102                            ),
6103                            name: "header",
6104                        },
6105                        xidl_typeobject::runtime::StructMemberDesc {
6106                            member_id: 3u32,
6107                            member_flags: 0u32,
6108                            type_id: xidl_typeobject::runtime::type_identifier_for::<
6109                                CompleteCollectionElement,
6110                            >(
6111                                xidl_typeobject::runtime::TypeEquivalence::Complete
6112                            ),
6113                            name: "element",
6114                        },
6115                    ],
6116                )
6117            }
6118        }
6119        pub struct MinimalSequenceType {
6120            pub collection_flag: Box<CollectionTypeFlag>,
6121
6122            pub header: Box<MinimalCollectionHeader>,
6123
6124            pub element: Box<MinimalCollectionElement>,
6125        }
6126
6127        impl MinimalSequenceType {}
6128
6129        impl xidl_typeobject::XidlTypeObject for MinimalSequenceType {
6130            fn minimal_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
6131                xidl_typeobject::runtime::build_minimal_struct(
6132                    0u32,
6133                    xidl_typeobject::runtime::type_identifier_none(),
6134                    vec![
6135                        xidl_typeobject::runtime::StructMemberDesc {
6136                            member_id: 1u32,
6137                            member_flags: 0u32,
6138                            type_id: xidl_typeobject::runtime::type_identifier_for::<
6139                                CollectionTypeFlag,
6140                            >(
6141                                xidl_typeobject::runtime::TypeEquivalence::Minimal
6142                            ),
6143                            name: "collection_flag",
6144                        },
6145                        xidl_typeobject::runtime::StructMemberDesc {
6146                            member_id: 2u32,
6147                            member_flags: 0u32,
6148                            type_id: xidl_typeobject::runtime::type_identifier_for::<
6149                                MinimalCollectionHeader,
6150                            >(
6151                                xidl_typeobject::runtime::TypeEquivalence::Minimal
6152                            ),
6153                            name: "header",
6154                        },
6155                        xidl_typeobject::runtime::StructMemberDesc {
6156                            member_id: 3u32,
6157                            member_flags: 0u32,
6158                            type_id: xidl_typeobject::runtime::type_identifier_for::<
6159                                MinimalCollectionElement,
6160                            >(
6161                                xidl_typeobject::runtime::TypeEquivalence::Minimal
6162                            ),
6163                            name: "element",
6164                        },
6165                    ],
6166                )
6167            }
6168
6169            fn complete_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
6170                xidl_typeobject::runtime::build_complete_struct(
6171                    "DDS::XTypes::MinimalSequenceType",
6172                    0u32,
6173                    xidl_typeobject::runtime::type_identifier_none(),
6174                    vec![
6175                        xidl_typeobject::runtime::StructMemberDesc {
6176                            member_id: 1u32,
6177                            member_flags: 0u32,
6178                            type_id: xidl_typeobject::runtime::type_identifier_for::<
6179                                CollectionTypeFlag,
6180                            >(
6181                                xidl_typeobject::runtime::TypeEquivalence::Complete
6182                            ),
6183                            name: "collection_flag",
6184                        },
6185                        xidl_typeobject::runtime::StructMemberDesc {
6186                            member_id: 2u32,
6187                            member_flags: 0u32,
6188                            type_id: xidl_typeobject::runtime::type_identifier_for::<
6189                                MinimalCollectionHeader,
6190                            >(
6191                                xidl_typeobject::runtime::TypeEquivalence::Complete
6192                            ),
6193                            name: "header",
6194                        },
6195                        xidl_typeobject::runtime::StructMemberDesc {
6196                            member_id: 3u32,
6197                            member_flags: 0u32,
6198                            type_id: xidl_typeobject::runtime::type_identifier_for::<
6199                                MinimalCollectionElement,
6200                            >(
6201                                xidl_typeobject::runtime::TypeEquivalence::Complete
6202                            ),
6203                            name: "element",
6204                        },
6205                    ],
6206                )
6207            }
6208        }
6209        pub struct CommonArrayHeader {
6210            pub bound_seq: Box<LBoundSeq>,
6211        }
6212
6213        impl CommonArrayHeader {}
6214
6215        impl xidl_typeobject::XidlTypeObject for CommonArrayHeader {
6216            fn minimal_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
6217                xidl_typeobject::runtime::build_minimal_struct(
6218                    0u32,
6219                    xidl_typeobject::runtime::type_identifier_none(),
6220                    vec![xidl_typeobject::runtime::StructMemberDesc {
6221                        member_id: 1u32,
6222                        member_flags: 0u32,
6223                        type_id: xidl_typeobject::runtime::type_identifier_for::<LBoundSeq>(
6224                            xidl_typeobject::runtime::TypeEquivalence::Minimal,
6225                        ),
6226                        name: "bound_seq",
6227                    }],
6228                )
6229            }
6230
6231            fn complete_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
6232                xidl_typeobject::runtime::build_complete_struct(
6233                    "DDS::XTypes::CommonArrayHeader",
6234                    0u32,
6235                    xidl_typeobject::runtime::type_identifier_none(),
6236                    vec![xidl_typeobject::runtime::StructMemberDesc {
6237                        member_id: 1u32,
6238                        member_flags: 0u32,
6239                        type_id: xidl_typeobject::runtime::type_identifier_for::<LBoundSeq>(
6240                            xidl_typeobject::runtime::TypeEquivalence::Complete,
6241                        ),
6242                        name: "bound_seq",
6243                    }],
6244                )
6245            }
6246        }
6247        pub struct CompleteArrayHeader {
6248            pub common: Box<CommonArrayHeader>,
6249
6250            pub detail: Box<CompleteTypeDetail>,
6251        }
6252
6253        impl CompleteArrayHeader {}
6254
6255        impl xidl_typeobject::XidlTypeObject for CompleteArrayHeader {
6256            fn minimal_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
6257                xidl_typeobject::runtime::build_minimal_struct(
6258                    0u32,
6259                    xidl_typeobject::runtime::type_identifier_none(),
6260                    vec![
6261                        xidl_typeobject::runtime::StructMemberDesc {
6262                            member_id: 1u32,
6263                            member_flags: 0u32,
6264                            type_id: xidl_typeobject::runtime::type_identifier_for::<
6265                                CommonArrayHeader,
6266                            >(
6267                                xidl_typeobject::runtime::TypeEquivalence::Minimal
6268                            ),
6269                            name: "common",
6270                        },
6271                        xidl_typeobject::runtime::StructMemberDesc {
6272                            member_id: 2u32,
6273                            member_flags: 0u32,
6274                            type_id: xidl_typeobject::runtime::type_identifier_for::<
6275                                CompleteTypeDetail,
6276                            >(
6277                                xidl_typeobject::runtime::TypeEquivalence::Minimal
6278                            ),
6279                            name: "detail",
6280                        },
6281                    ],
6282                )
6283            }
6284
6285            fn complete_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
6286                xidl_typeobject::runtime::build_complete_struct(
6287                    "DDS::XTypes::CompleteArrayHeader",
6288                    0u32,
6289                    xidl_typeobject::runtime::type_identifier_none(),
6290                    vec![
6291                        xidl_typeobject::runtime::StructMemberDesc {
6292                            member_id: 1u32,
6293                            member_flags: 0u32,
6294                            type_id: xidl_typeobject::runtime::type_identifier_for::<
6295                                CommonArrayHeader,
6296                            >(
6297                                xidl_typeobject::runtime::TypeEquivalence::Complete
6298                            ),
6299                            name: "common",
6300                        },
6301                        xidl_typeobject::runtime::StructMemberDesc {
6302                            member_id: 2u32,
6303                            member_flags: 0u32,
6304                            type_id: xidl_typeobject::runtime::type_identifier_for::<
6305                                CompleteTypeDetail,
6306                            >(
6307                                xidl_typeobject::runtime::TypeEquivalence::Complete
6308                            ),
6309                            name: "detail",
6310                        },
6311                    ],
6312                )
6313            }
6314        }
6315        pub struct MinimalArrayHeader {
6316            pub common: Box<CommonArrayHeader>,
6317        }
6318
6319        impl MinimalArrayHeader {}
6320
6321        impl xidl_typeobject::XidlTypeObject for MinimalArrayHeader {
6322            fn minimal_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
6323                xidl_typeobject::runtime::build_minimal_struct(
6324                    0u32,
6325                    xidl_typeobject::runtime::type_identifier_none(),
6326                    vec![xidl_typeobject::runtime::StructMemberDesc {
6327                        member_id: 1u32,
6328                        member_flags: 0u32,
6329                        type_id: xidl_typeobject::runtime::type_identifier_for::<CommonArrayHeader>(
6330                            xidl_typeobject::runtime::TypeEquivalence::Minimal,
6331                        ),
6332                        name: "common",
6333                    }],
6334                )
6335            }
6336
6337            fn complete_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
6338                xidl_typeobject::runtime::build_complete_struct(
6339                    "DDS::XTypes::MinimalArrayHeader",
6340                    0u32,
6341                    xidl_typeobject::runtime::type_identifier_none(),
6342                    vec![xidl_typeobject::runtime::StructMemberDesc {
6343                        member_id: 1u32,
6344                        member_flags: 0u32,
6345                        type_id: xidl_typeobject::runtime::type_identifier_for::<CommonArrayHeader>(
6346                            xidl_typeobject::runtime::TypeEquivalence::Complete,
6347                        ),
6348                        name: "common",
6349                    }],
6350                )
6351            }
6352        }
6353        pub struct CompleteArrayType {
6354            pub collection_flag: Box<CollectionTypeFlag>,
6355
6356            pub header: Box<CompleteArrayHeader>,
6357
6358            pub element: Box<CompleteCollectionElement>,
6359        }
6360
6361        impl CompleteArrayType {}
6362
6363        impl xidl_typeobject::XidlTypeObject for CompleteArrayType {
6364            fn minimal_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
6365                xidl_typeobject::runtime::build_minimal_struct(
6366                    0u32,
6367                    xidl_typeobject::runtime::type_identifier_none(),
6368                    vec![
6369                        xidl_typeobject::runtime::StructMemberDesc {
6370                            member_id: 1u32,
6371                            member_flags: 0u32,
6372                            type_id: xidl_typeobject::runtime::type_identifier_for::<
6373                                CollectionTypeFlag,
6374                            >(
6375                                xidl_typeobject::runtime::TypeEquivalence::Minimal
6376                            ),
6377                            name: "collection_flag",
6378                        },
6379                        xidl_typeobject::runtime::StructMemberDesc {
6380                            member_id: 2u32,
6381                            member_flags: 0u32,
6382                            type_id: xidl_typeobject::runtime::type_identifier_for::<
6383                                CompleteArrayHeader,
6384                            >(
6385                                xidl_typeobject::runtime::TypeEquivalence::Minimal
6386                            ),
6387                            name: "header",
6388                        },
6389                        xidl_typeobject::runtime::StructMemberDesc {
6390                            member_id: 3u32,
6391                            member_flags: 0u32,
6392                            type_id: xidl_typeobject::runtime::type_identifier_for::<
6393                                CompleteCollectionElement,
6394                            >(
6395                                xidl_typeobject::runtime::TypeEquivalence::Minimal
6396                            ),
6397                            name: "element",
6398                        },
6399                    ],
6400                )
6401            }
6402
6403            fn complete_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
6404                xidl_typeobject::runtime::build_complete_struct(
6405                    "DDS::XTypes::CompleteArrayType",
6406                    0u32,
6407                    xidl_typeobject::runtime::type_identifier_none(),
6408                    vec![
6409                        xidl_typeobject::runtime::StructMemberDesc {
6410                            member_id: 1u32,
6411                            member_flags: 0u32,
6412                            type_id: xidl_typeobject::runtime::type_identifier_for::<
6413                                CollectionTypeFlag,
6414                            >(
6415                                xidl_typeobject::runtime::TypeEquivalence::Complete
6416                            ),
6417                            name: "collection_flag",
6418                        },
6419                        xidl_typeobject::runtime::StructMemberDesc {
6420                            member_id: 2u32,
6421                            member_flags: 0u32,
6422                            type_id: xidl_typeobject::runtime::type_identifier_for::<
6423                                CompleteArrayHeader,
6424                            >(
6425                                xidl_typeobject::runtime::TypeEquivalence::Complete
6426                            ),
6427                            name: "header",
6428                        },
6429                        xidl_typeobject::runtime::StructMemberDesc {
6430                            member_id: 3u32,
6431                            member_flags: 0u32,
6432                            type_id: xidl_typeobject::runtime::type_identifier_for::<
6433                                CompleteCollectionElement,
6434                            >(
6435                                xidl_typeobject::runtime::TypeEquivalence::Complete
6436                            ),
6437                            name: "element",
6438                        },
6439                    ],
6440                )
6441            }
6442        }
6443        pub struct MinimalArrayType {
6444            pub collection_flag: Box<CollectionTypeFlag>,
6445
6446            pub header: Box<MinimalArrayHeader>,
6447
6448            pub element: Box<MinimalCollectionElement>,
6449        }
6450
6451        impl MinimalArrayType {}
6452
6453        impl xidl_typeobject::XidlTypeObject for MinimalArrayType {
6454            fn minimal_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
6455                xidl_typeobject::runtime::build_minimal_struct(
6456                    0u32,
6457                    xidl_typeobject::runtime::type_identifier_none(),
6458                    vec![
6459                        xidl_typeobject::runtime::StructMemberDesc {
6460                            member_id: 1u32,
6461                            member_flags: 0u32,
6462                            type_id: xidl_typeobject::runtime::type_identifier_for::<
6463                                CollectionTypeFlag,
6464                            >(
6465                                xidl_typeobject::runtime::TypeEquivalence::Minimal
6466                            ),
6467                            name: "collection_flag",
6468                        },
6469                        xidl_typeobject::runtime::StructMemberDesc {
6470                            member_id: 2u32,
6471                            member_flags: 0u32,
6472                            type_id: xidl_typeobject::runtime::type_identifier_for::<
6473                                MinimalArrayHeader,
6474                            >(
6475                                xidl_typeobject::runtime::TypeEquivalence::Minimal
6476                            ),
6477                            name: "header",
6478                        },
6479                        xidl_typeobject::runtime::StructMemberDesc {
6480                            member_id: 3u32,
6481                            member_flags: 0u32,
6482                            type_id: xidl_typeobject::runtime::type_identifier_for::<
6483                                MinimalCollectionElement,
6484                            >(
6485                                xidl_typeobject::runtime::TypeEquivalence::Minimal
6486                            ),
6487                            name: "element",
6488                        },
6489                    ],
6490                )
6491            }
6492
6493            fn complete_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
6494                xidl_typeobject::runtime::build_complete_struct(
6495                    "DDS::XTypes::MinimalArrayType",
6496                    0u32,
6497                    xidl_typeobject::runtime::type_identifier_none(),
6498                    vec![
6499                        xidl_typeobject::runtime::StructMemberDesc {
6500                            member_id: 1u32,
6501                            member_flags: 0u32,
6502                            type_id: xidl_typeobject::runtime::type_identifier_for::<
6503                                CollectionTypeFlag,
6504                            >(
6505                                xidl_typeobject::runtime::TypeEquivalence::Complete
6506                            ),
6507                            name: "collection_flag",
6508                        },
6509                        xidl_typeobject::runtime::StructMemberDesc {
6510                            member_id: 2u32,
6511                            member_flags: 0u32,
6512                            type_id: xidl_typeobject::runtime::type_identifier_for::<
6513                                MinimalArrayHeader,
6514                            >(
6515                                xidl_typeobject::runtime::TypeEquivalence::Complete
6516                            ),
6517                            name: "header",
6518                        },
6519                        xidl_typeobject::runtime::StructMemberDesc {
6520                            member_id: 3u32,
6521                            member_flags: 0u32,
6522                            type_id: xidl_typeobject::runtime::type_identifier_for::<
6523                                MinimalCollectionElement,
6524                            >(
6525                                xidl_typeobject::runtime::TypeEquivalence::Complete
6526                            ),
6527                            name: "element",
6528                        },
6529                    ],
6530                )
6531            }
6532        }
6533        pub struct CompleteMapType {
6534            pub collection_flag: Box<CollectionTypeFlag>,
6535
6536            pub header: Box<CompleteCollectionHeader>,
6537
6538            pub key: Box<CompleteCollectionElement>,
6539
6540            pub element: Box<CompleteCollectionElement>,
6541        }
6542
6543        impl CompleteMapType {}
6544
6545        impl xidl_typeobject::XidlTypeObject for CompleteMapType {
6546            fn minimal_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
6547                xidl_typeobject::runtime::build_minimal_struct(
6548                    0u32,
6549                    xidl_typeobject::runtime::type_identifier_none(),
6550                    vec![
6551                        xidl_typeobject::runtime::StructMemberDesc {
6552                            member_id: 1u32,
6553                            member_flags: 0u32,
6554                            type_id: xidl_typeobject::runtime::type_identifier_for::<
6555                                CollectionTypeFlag,
6556                            >(
6557                                xidl_typeobject::runtime::TypeEquivalence::Minimal
6558                            ),
6559                            name: "collection_flag",
6560                        },
6561                        xidl_typeobject::runtime::StructMemberDesc {
6562                            member_id: 2u32,
6563                            member_flags: 0u32,
6564                            type_id: xidl_typeobject::runtime::type_identifier_for::<
6565                                CompleteCollectionHeader,
6566                            >(
6567                                xidl_typeobject::runtime::TypeEquivalence::Minimal
6568                            ),
6569                            name: "header",
6570                        },
6571                        xidl_typeobject::runtime::StructMemberDesc {
6572                            member_id: 3u32,
6573                            member_flags: 0u32,
6574                            type_id: xidl_typeobject::runtime::type_identifier_for::<
6575                                CompleteCollectionElement,
6576                            >(
6577                                xidl_typeobject::runtime::TypeEquivalence::Minimal
6578                            ),
6579                            name: "key",
6580                        },
6581                        xidl_typeobject::runtime::StructMemberDesc {
6582                            member_id: 4u32,
6583                            member_flags: 0u32,
6584                            type_id: xidl_typeobject::runtime::type_identifier_for::<
6585                                CompleteCollectionElement,
6586                            >(
6587                                xidl_typeobject::runtime::TypeEquivalence::Minimal
6588                            ),
6589                            name: "element",
6590                        },
6591                    ],
6592                )
6593            }
6594
6595            fn complete_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
6596                xidl_typeobject::runtime::build_complete_struct(
6597                    "DDS::XTypes::CompleteMapType",
6598                    0u32,
6599                    xidl_typeobject::runtime::type_identifier_none(),
6600                    vec![
6601                        xidl_typeobject::runtime::StructMemberDesc {
6602                            member_id: 1u32,
6603                            member_flags: 0u32,
6604                            type_id: xidl_typeobject::runtime::type_identifier_for::<
6605                                CollectionTypeFlag,
6606                            >(
6607                                xidl_typeobject::runtime::TypeEquivalence::Complete
6608                            ),
6609                            name: "collection_flag",
6610                        },
6611                        xidl_typeobject::runtime::StructMemberDesc {
6612                            member_id: 2u32,
6613                            member_flags: 0u32,
6614                            type_id: xidl_typeobject::runtime::type_identifier_for::<
6615                                CompleteCollectionHeader,
6616                            >(
6617                                xidl_typeobject::runtime::TypeEquivalence::Complete
6618                            ),
6619                            name: "header",
6620                        },
6621                        xidl_typeobject::runtime::StructMemberDesc {
6622                            member_id: 3u32,
6623                            member_flags: 0u32,
6624                            type_id: xidl_typeobject::runtime::type_identifier_for::<
6625                                CompleteCollectionElement,
6626                            >(
6627                                xidl_typeobject::runtime::TypeEquivalence::Complete
6628                            ),
6629                            name: "key",
6630                        },
6631                        xidl_typeobject::runtime::StructMemberDesc {
6632                            member_id: 4u32,
6633                            member_flags: 0u32,
6634                            type_id: xidl_typeobject::runtime::type_identifier_for::<
6635                                CompleteCollectionElement,
6636                            >(
6637                                xidl_typeobject::runtime::TypeEquivalence::Complete
6638                            ),
6639                            name: "element",
6640                        },
6641                    ],
6642                )
6643            }
6644        }
6645        pub struct MinimalMapType {
6646            pub collection_flag: Box<CollectionTypeFlag>,
6647
6648            pub header: Box<MinimalCollectionHeader>,
6649
6650            pub key: Box<MinimalCollectionElement>,
6651
6652            pub element: Box<MinimalCollectionElement>,
6653        }
6654
6655        impl MinimalMapType {}
6656
6657        impl xidl_typeobject::XidlTypeObject for MinimalMapType {
6658            fn minimal_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
6659                xidl_typeobject::runtime::build_minimal_struct(
6660                    0u32,
6661                    xidl_typeobject::runtime::type_identifier_none(),
6662                    vec![
6663                        xidl_typeobject::runtime::StructMemberDesc {
6664                            member_id: 1u32,
6665                            member_flags: 0u32,
6666                            type_id: xidl_typeobject::runtime::type_identifier_for::<
6667                                CollectionTypeFlag,
6668                            >(
6669                                xidl_typeobject::runtime::TypeEquivalence::Minimal
6670                            ),
6671                            name: "collection_flag",
6672                        },
6673                        xidl_typeobject::runtime::StructMemberDesc {
6674                            member_id: 2u32,
6675                            member_flags: 0u32,
6676                            type_id: xidl_typeobject::runtime::type_identifier_for::<
6677                                MinimalCollectionHeader,
6678                            >(
6679                                xidl_typeobject::runtime::TypeEquivalence::Minimal
6680                            ),
6681                            name: "header",
6682                        },
6683                        xidl_typeobject::runtime::StructMemberDesc {
6684                            member_id: 3u32,
6685                            member_flags: 0u32,
6686                            type_id: xidl_typeobject::runtime::type_identifier_for::<
6687                                MinimalCollectionElement,
6688                            >(
6689                                xidl_typeobject::runtime::TypeEquivalence::Minimal
6690                            ),
6691                            name: "key",
6692                        },
6693                        xidl_typeobject::runtime::StructMemberDesc {
6694                            member_id: 4u32,
6695                            member_flags: 0u32,
6696                            type_id: xidl_typeobject::runtime::type_identifier_for::<
6697                                MinimalCollectionElement,
6698                            >(
6699                                xidl_typeobject::runtime::TypeEquivalence::Minimal
6700                            ),
6701                            name: "element",
6702                        },
6703                    ],
6704                )
6705            }
6706
6707            fn complete_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
6708                xidl_typeobject::runtime::build_complete_struct(
6709                    "DDS::XTypes::MinimalMapType",
6710                    0u32,
6711                    xidl_typeobject::runtime::type_identifier_none(),
6712                    vec![
6713                        xidl_typeobject::runtime::StructMemberDesc {
6714                            member_id: 1u32,
6715                            member_flags: 0u32,
6716                            type_id: xidl_typeobject::runtime::type_identifier_for::<
6717                                CollectionTypeFlag,
6718                            >(
6719                                xidl_typeobject::runtime::TypeEquivalence::Complete
6720                            ),
6721                            name: "collection_flag",
6722                        },
6723                        xidl_typeobject::runtime::StructMemberDesc {
6724                            member_id: 2u32,
6725                            member_flags: 0u32,
6726                            type_id: xidl_typeobject::runtime::type_identifier_for::<
6727                                MinimalCollectionHeader,
6728                            >(
6729                                xidl_typeobject::runtime::TypeEquivalence::Complete
6730                            ),
6731                            name: "header",
6732                        },
6733                        xidl_typeobject::runtime::StructMemberDesc {
6734                            member_id: 3u32,
6735                            member_flags: 0u32,
6736                            type_id: xidl_typeobject::runtime::type_identifier_for::<
6737                                MinimalCollectionElement,
6738                            >(
6739                                xidl_typeobject::runtime::TypeEquivalence::Complete
6740                            ),
6741                            name: "key",
6742                        },
6743                        xidl_typeobject::runtime::StructMemberDesc {
6744                            member_id: 4u32,
6745                            member_flags: 0u32,
6746                            type_id: xidl_typeobject::runtime::type_identifier_for::<
6747                                MinimalCollectionElement,
6748                            >(
6749                                xidl_typeobject::runtime::TypeEquivalence::Complete
6750                            ),
6751                            name: "element",
6752                        },
6753                    ],
6754                )
6755            }
6756        }
6757        pub type BitBound = u16;
6758        pub struct CommonEnumeratedLiteral {
6759            pub value: i32,
6760
6761            pub flags: Box<EnumeratedLiteralFlag>,
6762        }
6763
6764        impl CommonEnumeratedLiteral {}
6765
6766        impl xidl_typeobject::XidlTypeObject for CommonEnumeratedLiteral {
6767            fn minimal_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
6768                xidl_typeobject::runtime::build_minimal_struct(
6769                    0u32,
6770                    xidl_typeobject::runtime::type_identifier_none(),
6771                    vec![
6772                        xidl_typeobject::runtime::StructMemberDesc {
6773                            member_id: 1u32,
6774                            member_flags: 0u32,
6775                            type_id: xidl_typeobject::runtime::type_identifier_primitive(
6776                                xidl_typeobject::DDS::XTypes::TK_INT32,
6777                            ),
6778                            name: "value",
6779                        },
6780                        xidl_typeobject::runtime::StructMemberDesc {
6781                            member_id: 2u32,
6782                            member_flags: 0u32,
6783                            type_id: xidl_typeobject::runtime::type_identifier_for::<
6784                                EnumeratedLiteralFlag,
6785                            >(
6786                                xidl_typeobject::runtime::TypeEquivalence::Minimal
6787                            ),
6788                            name: "flags",
6789                        },
6790                    ],
6791                )
6792            }
6793
6794            fn complete_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
6795                xidl_typeobject::runtime::build_complete_struct(
6796                    "DDS::XTypes::CommonEnumeratedLiteral",
6797                    0u32,
6798                    xidl_typeobject::runtime::type_identifier_none(),
6799                    vec![
6800                        xidl_typeobject::runtime::StructMemberDesc {
6801                            member_id: 1u32,
6802                            member_flags: 0u32,
6803                            type_id: xidl_typeobject::runtime::type_identifier_primitive(
6804                                xidl_typeobject::DDS::XTypes::TK_INT32,
6805                            ),
6806                            name: "value",
6807                        },
6808                        xidl_typeobject::runtime::StructMemberDesc {
6809                            member_id: 2u32,
6810                            member_flags: 0u32,
6811                            type_id: xidl_typeobject::runtime::type_identifier_for::<
6812                                EnumeratedLiteralFlag,
6813                            >(
6814                                xidl_typeobject::runtime::TypeEquivalence::Complete
6815                            ),
6816                            name: "flags",
6817                        },
6818                    ],
6819                )
6820            }
6821        }
6822        pub struct CompleteEnumeratedLiteral {
6823            pub common: Box<CommonEnumeratedLiteral>,
6824
6825            pub detail: Box<CompleteMemberDetail>,
6826        }
6827
6828        impl CompleteEnumeratedLiteral {}
6829
6830        impl xidl_typeobject::XidlTypeObject for CompleteEnumeratedLiteral {
6831            fn minimal_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
6832                xidl_typeobject::runtime::build_minimal_struct(
6833                    0u32,
6834                    xidl_typeobject::runtime::type_identifier_none(),
6835                    vec![
6836                        xidl_typeobject::runtime::StructMemberDesc {
6837                            member_id: 1u32,
6838                            member_flags: 0u32,
6839                            type_id: xidl_typeobject::runtime::type_identifier_for::<
6840                                CommonEnumeratedLiteral,
6841                            >(
6842                                xidl_typeobject::runtime::TypeEquivalence::Minimal
6843                            ),
6844                            name: "common",
6845                        },
6846                        xidl_typeobject::runtime::StructMemberDesc {
6847                            member_id: 2u32,
6848                            member_flags: 0u32,
6849                            type_id: xidl_typeobject::runtime::type_identifier_for::<
6850                                CompleteMemberDetail,
6851                            >(
6852                                xidl_typeobject::runtime::TypeEquivalence::Minimal
6853                            ),
6854                            name: "detail",
6855                        },
6856                    ],
6857                )
6858            }
6859
6860            fn complete_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
6861                xidl_typeobject::runtime::build_complete_struct(
6862                    "DDS::XTypes::CompleteEnumeratedLiteral",
6863                    0u32,
6864                    xidl_typeobject::runtime::type_identifier_none(),
6865                    vec![
6866                        xidl_typeobject::runtime::StructMemberDesc {
6867                            member_id: 1u32,
6868                            member_flags: 0u32,
6869                            type_id: xidl_typeobject::runtime::type_identifier_for::<
6870                                CommonEnumeratedLiteral,
6871                            >(
6872                                xidl_typeobject::runtime::TypeEquivalence::Complete
6873                            ),
6874                            name: "common",
6875                        },
6876                        xidl_typeobject::runtime::StructMemberDesc {
6877                            member_id: 2u32,
6878                            member_flags: 0u32,
6879                            type_id: xidl_typeobject::runtime::type_identifier_for::<
6880                                CompleteMemberDetail,
6881                            >(
6882                                xidl_typeobject::runtime::TypeEquivalence::Complete
6883                            ),
6884                            name: "detail",
6885                        },
6886                    ],
6887                )
6888            }
6889        }
6890        pub type CompleteEnumeratedLiteralSeq = Vec<CompleteEnumeratedLiteral>;
6891        pub struct MinimalEnumeratedLiteral {
6892            pub common: Box<CommonEnumeratedLiteral>,
6893
6894            pub detail: Box<MinimalMemberDetail>,
6895        }
6896
6897        impl MinimalEnumeratedLiteral {}
6898
6899        impl xidl_typeobject::XidlTypeObject for MinimalEnumeratedLiteral {
6900            fn minimal_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
6901                xidl_typeobject::runtime::build_minimal_struct(
6902                    0u32,
6903                    xidl_typeobject::runtime::type_identifier_none(),
6904                    vec![
6905                        xidl_typeobject::runtime::StructMemberDesc {
6906                            member_id: 1u32,
6907                            member_flags: 0u32,
6908                            type_id: xidl_typeobject::runtime::type_identifier_for::<
6909                                CommonEnumeratedLiteral,
6910                            >(
6911                                xidl_typeobject::runtime::TypeEquivalence::Minimal
6912                            ),
6913                            name: "common",
6914                        },
6915                        xidl_typeobject::runtime::StructMemberDesc {
6916                            member_id: 2u32,
6917                            member_flags: 0u32,
6918                            type_id: xidl_typeobject::runtime::type_identifier_for::<
6919                                MinimalMemberDetail,
6920                            >(
6921                                xidl_typeobject::runtime::TypeEquivalence::Minimal
6922                            ),
6923                            name: "detail",
6924                        },
6925                    ],
6926                )
6927            }
6928
6929            fn complete_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
6930                xidl_typeobject::runtime::build_complete_struct(
6931                    "DDS::XTypes::MinimalEnumeratedLiteral",
6932                    0u32,
6933                    xidl_typeobject::runtime::type_identifier_none(),
6934                    vec![
6935                        xidl_typeobject::runtime::StructMemberDesc {
6936                            member_id: 1u32,
6937                            member_flags: 0u32,
6938                            type_id: xidl_typeobject::runtime::type_identifier_for::<
6939                                CommonEnumeratedLiteral,
6940                            >(
6941                                xidl_typeobject::runtime::TypeEquivalence::Complete
6942                            ),
6943                            name: "common",
6944                        },
6945                        xidl_typeobject::runtime::StructMemberDesc {
6946                            member_id: 2u32,
6947                            member_flags: 0u32,
6948                            type_id: xidl_typeobject::runtime::type_identifier_for::<
6949                                MinimalMemberDetail,
6950                            >(
6951                                xidl_typeobject::runtime::TypeEquivalence::Complete
6952                            ),
6953                            name: "detail",
6954                        },
6955                    ],
6956                )
6957            }
6958        }
6959        pub type MinimalEnumeratedLiteralSeq = Vec<MinimalEnumeratedLiteral>;
6960        pub struct CommonEnumeratedHeader {
6961            pub bit_bound: Box<BitBound>,
6962        }
6963
6964        impl CommonEnumeratedHeader {}
6965
6966        impl xidl_typeobject::XidlTypeObject for CommonEnumeratedHeader {
6967            fn minimal_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
6968                xidl_typeobject::runtime::build_minimal_struct(
6969                    0u32,
6970                    xidl_typeobject::runtime::type_identifier_none(),
6971                    vec![xidl_typeobject::runtime::StructMemberDesc {
6972                        member_id: 1u32,
6973                        member_flags: 0u32,
6974                        type_id: xidl_typeobject::runtime::type_identifier_for::<BitBound>(
6975                            xidl_typeobject::runtime::TypeEquivalence::Minimal,
6976                        ),
6977                        name: "bit_bound",
6978                    }],
6979                )
6980            }
6981
6982            fn complete_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
6983                xidl_typeobject::runtime::build_complete_struct(
6984                    "DDS::XTypes::CommonEnumeratedHeader",
6985                    0u32,
6986                    xidl_typeobject::runtime::type_identifier_none(),
6987                    vec![xidl_typeobject::runtime::StructMemberDesc {
6988                        member_id: 1u32,
6989                        member_flags: 0u32,
6990                        type_id: xidl_typeobject::runtime::type_identifier_for::<BitBound>(
6991                            xidl_typeobject::runtime::TypeEquivalence::Complete,
6992                        ),
6993                        name: "bit_bound",
6994                    }],
6995                )
6996            }
6997        }
6998        pub struct CompleteEnumeratedHeader {
6999            pub common: Box<CommonEnumeratedHeader>,
7000
7001            pub detail: Box<CompleteTypeDetail>,
7002        }
7003
7004        impl CompleteEnumeratedHeader {}
7005
7006        impl xidl_typeobject::XidlTypeObject for CompleteEnumeratedHeader {
7007            fn minimal_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
7008                xidl_typeobject::runtime::build_minimal_struct(
7009                    0u32,
7010                    xidl_typeobject::runtime::type_identifier_none(),
7011                    vec![
7012                        xidl_typeobject::runtime::StructMemberDesc {
7013                            member_id: 1u32,
7014                            member_flags: 0u32,
7015                            type_id: xidl_typeobject::runtime::type_identifier_for::<
7016                                CommonEnumeratedHeader,
7017                            >(
7018                                xidl_typeobject::runtime::TypeEquivalence::Minimal
7019                            ),
7020                            name: "common",
7021                        },
7022                        xidl_typeobject::runtime::StructMemberDesc {
7023                            member_id: 2u32,
7024                            member_flags: 0u32,
7025                            type_id: xidl_typeobject::runtime::type_identifier_for::<
7026                                CompleteTypeDetail,
7027                            >(
7028                                xidl_typeobject::runtime::TypeEquivalence::Minimal
7029                            ),
7030                            name: "detail",
7031                        },
7032                    ],
7033                )
7034            }
7035
7036            fn complete_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
7037                xidl_typeobject::runtime::build_complete_struct(
7038                    "DDS::XTypes::CompleteEnumeratedHeader",
7039                    0u32,
7040                    xidl_typeobject::runtime::type_identifier_none(),
7041                    vec![
7042                        xidl_typeobject::runtime::StructMemberDesc {
7043                            member_id: 1u32,
7044                            member_flags: 0u32,
7045                            type_id: xidl_typeobject::runtime::type_identifier_for::<
7046                                CommonEnumeratedHeader,
7047                            >(
7048                                xidl_typeobject::runtime::TypeEquivalence::Complete
7049                            ),
7050                            name: "common",
7051                        },
7052                        xidl_typeobject::runtime::StructMemberDesc {
7053                            member_id: 2u32,
7054                            member_flags: 0u32,
7055                            type_id: xidl_typeobject::runtime::type_identifier_for::<
7056                                CompleteTypeDetail,
7057                            >(
7058                                xidl_typeobject::runtime::TypeEquivalence::Complete
7059                            ),
7060                            name: "detail",
7061                        },
7062                    ],
7063                )
7064            }
7065        }
7066        pub struct MinimalEnumeratedHeader {
7067            pub common: Box<CommonEnumeratedHeader>,
7068        }
7069
7070        impl MinimalEnumeratedHeader {}
7071
7072        impl xidl_typeobject::XidlTypeObject for MinimalEnumeratedHeader {
7073            fn minimal_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
7074                xidl_typeobject::runtime::build_minimal_struct(
7075                    0u32,
7076                    xidl_typeobject::runtime::type_identifier_none(),
7077                    vec![xidl_typeobject::runtime::StructMemberDesc {
7078                        member_id: 1u32,
7079                        member_flags: 0u32,
7080                        type_id: xidl_typeobject::runtime::type_identifier_for::<
7081                            CommonEnumeratedHeader,
7082                        >(
7083                            xidl_typeobject::runtime::TypeEquivalence::Minimal
7084                        ),
7085                        name: "common",
7086                    }],
7087                )
7088            }
7089
7090            fn complete_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
7091                xidl_typeobject::runtime::build_complete_struct(
7092                    "DDS::XTypes::MinimalEnumeratedHeader",
7093                    0u32,
7094                    xidl_typeobject::runtime::type_identifier_none(),
7095                    vec![xidl_typeobject::runtime::StructMemberDesc {
7096                        member_id: 1u32,
7097                        member_flags: 0u32,
7098                        type_id: xidl_typeobject::runtime::type_identifier_for::<
7099                            CommonEnumeratedHeader,
7100                        >(
7101                            xidl_typeobject::runtime::TypeEquivalence::Complete
7102                        ),
7103                        name: "common",
7104                    }],
7105                )
7106            }
7107        }
7108        pub struct CompleteEnumeratedType {
7109            pub enum_flags: Box<EnumTypeFlag>,
7110
7111            pub header: Box<CompleteEnumeratedHeader>,
7112
7113            pub literal_seq: Box<CompleteEnumeratedLiteralSeq>,
7114        }
7115
7116        impl CompleteEnumeratedType {}
7117
7118        impl xidl_typeobject::XidlTypeObject for CompleteEnumeratedType {
7119            fn minimal_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
7120                xidl_typeobject::runtime::build_minimal_struct(
7121                    0u32,
7122                    xidl_typeobject::runtime::type_identifier_none(),
7123                    vec![
7124                        xidl_typeobject::runtime::StructMemberDesc {
7125                            member_id: 1u32,
7126                            member_flags: 0u32,
7127                            type_id: xidl_typeobject::runtime::type_identifier_for::<EnumTypeFlag>(
7128                                xidl_typeobject::runtime::TypeEquivalence::Minimal,
7129                            ),
7130                            name: "enum_flags",
7131                        },
7132                        xidl_typeobject::runtime::StructMemberDesc {
7133                            member_id: 2u32,
7134                            member_flags: 0u32,
7135                            type_id: xidl_typeobject::runtime::type_identifier_for::<
7136                                CompleteEnumeratedHeader,
7137                            >(
7138                                xidl_typeobject::runtime::TypeEquivalence::Minimal
7139                            ),
7140                            name: "header",
7141                        },
7142                        xidl_typeobject::runtime::StructMemberDesc {
7143                            member_id: 3u32,
7144                            member_flags: 0u32,
7145                            type_id: xidl_typeobject::runtime::type_identifier_for::<
7146                                CompleteEnumeratedLiteralSeq,
7147                            >(
7148                                xidl_typeobject::runtime::TypeEquivalence::Minimal
7149                            ),
7150                            name: "literal_seq",
7151                        },
7152                    ],
7153                )
7154            }
7155
7156            fn complete_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
7157                xidl_typeobject::runtime::build_complete_struct(
7158                    "DDS::XTypes::CompleteEnumeratedType",
7159                    0u32,
7160                    xidl_typeobject::runtime::type_identifier_none(),
7161                    vec![
7162                        xidl_typeobject::runtime::StructMemberDesc {
7163                            member_id: 1u32,
7164                            member_flags: 0u32,
7165                            type_id: xidl_typeobject::runtime::type_identifier_for::<EnumTypeFlag>(
7166                                xidl_typeobject::runtime::TypeEquivalence::Complete,
7167                            ),
7168                            name: "enum_flags",
7169                        },
7170                        xidl_typeobject::runtime::StructMemberDesc {
7171                            member_id: 2u32,
7172                            member_flags: 0u32,
7173                            type_id: xidl_typeobject::runtime::type_identifier_for::<
7174                                CompleteEnumeratedHeader,
7175                            >(
7176                                xidl_typeobject::runtime::TypeEquivalence::Complete
7177                            ),
7178                            name: "header",
7179                        },
7180                        xidl_typeobject::runtime::StructMemberDesc {
7181                            member_id: 3u32,
7182                            member_flags: 0u32,
7183                            type_id: xidl_typeobject::runtime::type_identifier_for::<
7184                                CompleteEnumeratedLiteralSeq,
7185                            >(
7186                                xidl_typeobject::runtime::TypeEquivalence::Complete
7187                            ),
7188                            name: "literal_seq",
7189                        },
7190                    ],
7191                )
7192            }
7193        }
7194        pub struct MinimalEnumeratedType {
7195            pub enum_flags: Box<EnumTypeFlag>,
7196
7197            pub header: Box<MinimalEnumeratedHeader>,
7198
7199            pub literal_seq: Box<MinimalEnumeratedLiteralSeq>,
7200        }
7201
7202        impl MinimalEnumeratedType {}
7203
7204        impl xidl_typeobject::XidlTypeObject for MinimalEnumeratedType {
7205            fn minimal_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
7206                xidl_typeobject::runtime::build_minimal_struct(
7207                    0u32,
7208                    xidl_typeobject::runtime::type_identifier_none(),
7209                    vec![
7210                        xidl_typeobject::runtime::StructMemberDesc {
7211                            member_id: 1u32,
7212                            member_flags: 0u32,
7213                            type_id: xidl_typeobject::runtime::type_identifier_for::<EnumTypeFlag>(
7214                                xidl_typeobject::runtime::TypeEquivalence::Minimal,
7215                            ),
7216                            name: "enum_flags",
7217                        },
7218                        xidl_typeobject::runtime::StructMemberDesc {
7219                            member_id: 2u32,
7220                            member_flags: 0u32,
7221                            type_id: xidl_typeobject::runtime::type_identifier_for::<
7222                                MinimalEnumeratedHeader,
7223                            >(
7224                                xidl_typeobject::runtime::TypeEquivalence::Minimal
7225                            ),
7226                            name: "header",
7227                        },
7228                        xidl_typeobject::runtime::StructMemberDesc {
7229                            member_id: 3u32,
7230                            member_flags: 0u32,
7231                            type_id: xidl_typeobject::runtime::type_identifier_for::<
7232                                MinimalEnumeratedLiteralSeq,
7233                            >(
7234                                xidl_typeobject::runtime::TypeEquivalence::Minimal
7235                            ),
7236                            name: "literal_seq",
7237                        },
7238                    ],
7239                )
7240            }
7241
7242            fn complete_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
7243                xidl_typeobject::runtime::build_complete_struct(
7244                    "DDS::XTypes::MinimalEnumeratedType",
7245                    0u32,
7246                    xidl_typeobject::runtime::type_identifier_none(),
7247                    vec![
7248                        xidl_typeobject::runtime::StructMemberDesc {
7249                            member_id: 1u32,
7250                            member_flags: 0u32,
7251                            type_id: xidl_typeobject::runtime::type_identifier_for::<EnumTypeFlag>(
7252                                xidl_typeobject::runtime::TypeEquivalence::Complete,
7253                            ),
7254                            name: "enum_flags",
7255                        },
7256                        xidl_typeobject::runtime::StructMemberDesc {
7257                            member_id: 2u32,
7258                            member_flags: 0u32,
7259                            type_id: xidl_typeobject::runtime::type_identifier_for::<
7260                                MinimalEnumeratedHeader,
7261                            >(
7262                                xidl_typeobject::runtime::TypeEquivalence::Complete
7263                            ),
7264                            name: "header",
7265                        },
7266                        xidl_typeobject::runtime::StructMemberDesc {
7267                            member_id: 3u32,
7268                            member_flags: 0u32,
7269                            type_id: xidl_typeobject::runtime::type_identifier_for::<
7270                                MinimalEnumeratedLiteralSeq,
7271                            >(
7272                                xidl_typeobject::runtime::TypeEquivalence::Complete
7273                            ),
7274                            name: "literal_seq",
7275                        },
7276                    ],
7277                )
7278            }
7279        }
7280        pub struct CommonBitflag {
7281            pub position: u16,
7282
7283            pub flags: Box<BitflagFlag>,
7284        }
7285
7286        impl CommonBitflag {}
7287
7288        impl xidl_typeobject::XidlTypeObject for CommonBitflag {
7289            fn minimal_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
7290                xidl_typeobject::runtime::build_minimal_struct(
7291                    0u32,
7292                    xidl_typeobject::runtime::type_identifier_none(),
7293                    vec![
7294                        xidl_typeobject::runtime::StructMemberDesc {
7295                            member_id: 1u32,
7296                            member_flags: 0u32,
7297                            type_id: xidl_typeobject::runtime::type_identifier_primitive(
7298                                xidl_typeobject::DDS::XTypes::TK_UINT16,
7299                            ),
7300                            name: "position",
7301                        },
7302                        xidl_typeobject::runtime::StructMemberDesc {
7303                            member_id: 2u32,
7304                            member_flags: 0u32,
7305                            type_id: xidl_typeobject::runtime::type_identifier_for::<BitflagFlag>(
7306                                xidl_typeobject::runtime::TypeEquivalence::Minimal,
7307                            ),
7308                            name: "flags",
7309                        },
7310                    ],
7311                )
7312            }
7313
7314            fn complete_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
7315                xidl_typeobject::runtime::build_complete_struct(
7316                    "DDS::XTypes::CommonBitflag",
7317                    0u32,
7318                    xidl_typeobject::runtime::type_identifier_none(),
7319                    vec![
7320                        xidl_typeobject::runtime::StructMemberDesc {
7321                            member_id: 1u32,
7322                            member_flags: 0u32,
7323                            type_id: xidl_typeobject::runtime::type_identifier_primitive(
7324                                xidl_typeobject::DDS::XTypes::TK_UINT16,
7325                            ),
7326                            name: "position",
7327                        },
7328                        xidl_typeobject::runtime::StructMemberDesc {
7329                            member_id: 2u32,
7330                            member_flags: 0u32,
7331                            type_id: xidl_typeobject::runtime::type_identifier_for::<BitflagFlag>(
7332                                xidl_typeobject::runtime::TypeEquivalence::Complete,
7333                            ),
7334                            name: "flags",
7335                        },
7336                    ],
7337                )
7338            }
7339        }
7340        pub struct CompleteBitflag {
7341            pub common: Box<CommonBitflag>,
7342
7343            pub detail: Box<CompleteMemberDetail>,
7344        }
7345
7346        impl CompleteBitflag {}
7347
7348        impl xidl_typeobject::XidlTypeObject for CompleteBitflag {
7349            fn minimal_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
7350                xidl_typeobject::runtime::build_minimal_struct(
7351                    0u32,
7352                    xidl_typeobject::runtime::type_identifier_none(),
7353                    vec![
7354                        xidl_typeobject::runtime::StructMemberDesc {
7355                            member_id: 1u32,
7356                            member_flags: 0u32,
7357                            type_id: xidl_typeobject::runtime::type_identifier_for::<CommonBitflag>(
7358                                xidl_typeobject::runtime::TypeEquivalence::Minimal,
7359                            ),
7360                            name: "common",
7361                        },
7362                        xidl_typeobject::runtime::StructMemberDesc {
7363                            member_id: 2u32,
7364                            member_flags: 0u32,
7365                            type_id: xidl_typeobject::runtime::type_identifier_for::<
7366                                CompleteMemberDetail,
7367                            >(
7368                                xidl_typeobject::runtime::TypeEquivalence::Minimal
7369                            ),
7370                            name: "detail",
7371                        },
7372                    ],
7373                )
7374            }
7375
7376            fn complete_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
7377                xidl_typeobject::runtime::build_complete_struct(
7378                    "DDS::XTypes::CompleteBitflag",
7379                    0u32,
7380                    xidl_typeobject::runtime::type_identifier_none(),
7381                    vec![
7382                        xidl_typeobject::runtime::StructMemberDesc {
7383                            member_id: 1u32,
7384                            member_flags: 0u32,
7385                            type_id: xidl_typeobject::runtime::type_identifier_for::<CommonBitflag>(
7386                                xidl_typeobject::runtime::TypeEquivalence::Complete,
7387                            ),
7388                            name: "common",
7389                        },
7390                        xidl_typeobject::runtime::StructMemberDesc {
7391                            member_id: 2u32,
7392                            member_flags: 0u32,
7393                            type_id: xidl_typeobject::runtime::type_identifier_for::<
7394                                CompleteMemberDetail,
7395                            >(
7396                                xidl_typeobject::runtime::TypeEquivalence::Complete
7397                            ),
7398                            name: "detail",
7399                        },
7400                    ],
7401                )
7402            }
7403        }
7404        pub type CompleteBitflagSeq = Vec<CompleteBitflag>;
7405        pub struct MinimalBitflag {
7406            pub common: Box<CommonBitflag>,
7407
7408            pub detail: Box<MinimalMemberDetail>,
7409        }
7410
7411        impl MinimalBitflag {}
7412
7413        impl xidl_typeobject::XidlTypeObject for MinimalBitflag {
7414            fn minimal_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
7415                xidl_typeobject::runtime::build_minimal_struct(
7416                    0u32,
7417                    xidl_typeobject::runtime::type_identifier_none(),
7418                    vec![
7419                        xidl_typeobject::runtime::StructMemberDesc {
7420                            member_id: 1u32,
7421                            member_flags: 0u32,
7422                            type_id: xidl_typeobject::runtime::type_identifier_for::<CommonBitflag>(
7423                                xidl_typeobject::runtime::TypeEquivalence::Minimal,
7424                            ),
7425                            name: "common",
7426                        },
7427                        xidl_typeobject::runtime::StructMemberDesc {
7428                            member_id: 2u32,
7429                            member_flags: 0u32,
7430                            type_id: xidl_typeobject::runtime::type_identifier_for::<
7431                                MinimalMemberDetail,
7432                            >(
7433                                xidl_typeobject::runtime::TypeEquivalence::Minimal
7434                            ),
7435                            name: "detail",
7436                        },
7437                    ],
7438                )
7439            }
7440
7441            fn complete_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
7442                xidl_typeobject::runtime::build_complete_struct(
7443                    "DDS::XTypes::MinimalBitflag",
7444                    0u32,
7445                    xidl_typeobject::runtime::type_identifier_none(),
7446                    vec![
7447                        xidl_typeobject::runtime::StructMemberDesc {
7448                            member_id: 1u32,
7449                            member_flags: 0u32,
7450                            type_id: xidl_typeobject::runtime::type_identifier_for::<CommonBitflag>(
7451                                xidl_typeobject::runtime::TypeEquivalence::Complete,
7452                            ),
7453                            name: "common",
7454                        },
7455                        xidl_typeobject::runtime::StructMemberDesc {
7456                            member_id: 2u32,
7457                            member_flags: 0u32,
7458                            type_id: xidl_typeobject::runtime::type_identifier_for::<
7459                                MinimalMemberDetail,
7460                            >(
7461                                xidl_typeobject::runtime::TypeEquivalence::Complete
7462                            ),
7463                            name: "detail",
7464                        },
7465                    ],
7466                )
7467            }
7468        }
7469        pub type MinimalBitflagSeq = Vec<MinimalBitflag>;
7470        pub struct CommonBitmaskHeader {
7471            pub bit_bound: Box<BitBound>,
7472        }
7473
7474        impl CommonBitmaskHeader {}
7475
7476        impl xidl_typeobject::XidlTypeObject for CommonBitmaskHeader {
7477            fn minimal_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
7478                xidl_typeobject::runtime::build_minimal_struct(
7479                    0u32,
7480                    xidl_typeobject::runtime::type_identifier_none(),
7481                    vec![xidl_typeobject::runtime::StructMemberDesc {
7482                        member_id: 1u32,
7483                        member_flags: 0u32,
7484                        type_id: xidl_typeobject::runtime::type_identifier_for::<BitBound>(
7485                            xidl_typeobject::runtime::TypeEquivalence::Minimal,
7486                        ),
7487                        name: "bit_bound",
7488                    }],
7489                )
7490            }
7491
7492            fn complete_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
7493                xidl_typeobject::runtime::build_complete_struct(
7494                    "DDS::XTypes::CommonBitmaskHeader",
7495                    0u32,
7496                    xidl_typeobject::runtime::type_identifier_none(),
7497                    vec![xidl_typeobject::runtime::StructMemberDesc {
7498                        member_id: 1u32,
7499                        member_flags: 0u32,
7500                        type_id: xidl_typeobject::runtime::type_identifier_for::<BitBound>(
7501                            xidl_typeobject::runtime::TypeEquivalence::Complete,
7502                        ),
7503                        name: "bit_bound",
7504                    }],
7505                )
7506            }
7507        }
7508        pub type CompleteBitmaskHeader = CompleteEnumeratedHeader;
7509        pub type MinimalBitmaskHeader = MinimalEnumeratedHeader;
7510        pub struct CompleteBitmaskType {
7511            pub bitmask_flags: Box<BitmaskTypeFlag>,
7512
7513            pub header: Box<CompleteBitmaskHeader>,
7514
7515            pub flag_seq: Box<CompleteBitflagSeq>,
7516        }
7517
7518        impl CompleteBitmaskType {}
7519
7520        impl xidl_typeobject::XidlTypeObject for CompleteBitmaskType {
7521            fn minimal_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
7522                xidl_typeobject::runtime::build_minimal_struct(
7523                    0u32,
7524                    xidl_typeobject::runtime::type_identifier_none(),
7525                    vec![
7526                        xidl_typeobject::runtime::StructMemberDesc {
7527                            member_id: 1u32,
7528                            member_flags: 0u32,
7529                            type_id: xidl_typeobject::runtime::type_identifier_for::<BitmaskTypeFlag>(
7530                                xidl_typeobject::runtime::TypeEquivalence::Minimal,
7531                            ),
7532                            name: "bitmask_flags",
7533                        },
7534                        xidl_typeobject::runtime::StructMemberDesc {
7535                            member_id: 2u32,
7536                            member_flags: 0u32,
7537                            type_id: xidl_typeobject::runtime::type_identifier_for::<
7538                                CompleteBitmaskHeader,
7539                            >(
7540                                xidl_typeobject::runtime::TypeEquivalence::Minimal
7541                            ),
7542                            name: "header",
7543                        },
7544                        xidl_typeobject::runtime::StructMemberDesc {
7545                            member_id: 3u32,
7546                            member_flags: 0u32,
7547                            type_id: xidl_typeobject::runtime::type_identifier_for::<
7548                                CompleteBitflagSeq,
7549                            >(
7550                                xidl_typeobject::runtime::TypeEquivalence::Minimal
7551                            ),
7552                            name: "flag_seq",
7553                        },
7554                    ],
7555                )
7556            }
7557
7558            fn complete_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
7559                xidl_typeobject::runtime::build_complete_struct(
7560                    "DDS::XTypes::CompleteBitmaskType",
7561                    0u32,
7562                    xidl_typeobject::runtime::type_identifier_none(),
7563                    vec![
7564                        xidl_typeobject::runtime::StructMemberDesc {
7565                            member_id: 1u32,
7566                            member_flags: 0u32,
7567                            type_id: xidl_typeobject::runtime::type_identifier_for::<BitmaskTypeFlag>(
7568                                xidl_typeobject::runtime::TypeEquivalence::Complete,
7569                            ),
7570                            name: "bitmask_flags",
7571                        },
7572                        xidl_typeobject::runtime::StructMemberDesc {
7573                            member_id: 2u32,
7574                            member_flags: 0u32,
7575                            type_id: xidl_typeobject::runtime::type_identifier_for::<
7576                                CompleteBitmaskHeader,
7577                            >(
7578                                xidl_typeobject::runtime::TypeEquivalence::Complete
7579                            ),
7580                            name: "header",
7581                        },
7582                        xidl_typeobject::runtime::StructMemberDesc {
7583                            member_id: 3u32,
7584                            member_flags: 0u32,
7585                            type_id: xidl_typeobject::runtime::type_identifier_for::<
7586                                CompleteBitflagSeq,
7587                            >(
7588                                xidl_typeobject::runtime::TypeEquivalence::Complete
7589                            ),
7590                            name: "flag_seq",
7591                        },
7592                    ],
7593                )
7594            }
7595        }
7596        pub struct MinimalBitmaskType {
7597            pub bitmask_flags: Box<BitmaskTypeFlag>,
7598
7599            pub header: Box<MinimalBitmaskHeader>,
7600
7601            pub flag_seq: Box<MinimalBitflagSeq>,
7602        }
7603
7604        impl MinimalBitmaskType {}
7605
7606        impl xidl_typeobject::XidlTypeObject for MinimalBitmaskType {
7607            fn minimal_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
7608                xidl_typeobject::runtime::build_minimal_struct(
7609                    0u32,
7610                    xidl_typeobject::runtime::type_identifier_none(),
7611                    vec![
7612                        xidl_typeobject::runtime::StructMemberDesc {
7613                            member_id: 1u32,
7614                            member_flags: 0u32,
7615                            type_id: xidl_typeobject::runtime::type_identifier_for::<BitmaskTypeFlag>(
7616                                xidl_typeobject::runtime::TypeEquivalence::Minimal,
7617                            ),
7618                            name: "bitmask_flags",
7619                        },
7620                        xidl_typeobject::runtime::StructMemberDesc {
7621                            member_id: 2u32,
7622                            member_flags: 0u32,
7623                            type_id: xidl_typeobject::runtime::type_identifier_for::<
7624                                MinimalBitmaskHeader,
7625                            >(
7626                                xidl_typeobject::runtime::TypeEquivalence::Minimal
7627                            ),
7628                            name: "header",
7629                        },
7630                        xidl_typeobject::runtime::StructMemberDesc {
7631                            member_id: 3u32,
7632                            member_flags: 0u32,
7633                            type_id: xidl_typeobject::runtime::type_identifier_for::<
7634                                MinimalBitflagSeq,
7635                            >(
7636                                xidl_typeobject::runtime::TypeEquivalence::Minimal
7637                            ),
7638                            name: "flag_seq",
7639                        },
7640                    ],
7641                )
7642            }
7643
7644            fn complete_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
7645                xidl_typeobject::runtime::build_complete_struct(
7646                    "DDS::XTypes::MinimalBitmaskType",
7647                    0u32,
7648                    xidl_typeobject::runtime::type_identifier_none(),
7649                    vec![
7650                        xidl_typeobject::runtime::StructMemberDesc {
7651                            member_id: 1u32,
7652                            member_flags: 0u32,
7653                            type_id: xidl_typeobject::runtime::type_identifier_for::<BitmaskTypeFlag>(
7654                                xidl_typeobject::runtime::TypeEquivalence::Complete,
7655                            ),
7656                            name: "bitmask_flags",
7657                        },
7658                        xidl_typeobject::runtime::StructMemberDesc {
7659                            member_id: 2u32,
7660                            member_flags: 0u32,
7661                            type_id: xidl_typeobject::runtime::type_identifier_for::<
7662                                MinimalBitmaskHeader,
7663                            >(
7664                                xidl_typeobject::runtime::TypeEquivalence::Complete
7665                            ),
7666                            name: "header",
7667                        },
7668                        xidl_typeobject::runtime::StructMemberDesc {
7669                            member_id: 3u32,
7670                            member_flags: 0u32,
7671                            type_id: xidl_typeobject::runtime::type_identifier_for::<
7672                                MinimalBitflagSeq,
7673                            >(
7674                                xidl_typeobject::runtime::TypeEquivalence::Complete
7675                            ),
7676                            name: "flag_seq",
7677                        },
7678                    ],
7679                )
7680            }
7681        }
7682        pub struct CommonBitfield {
7683            pub position: u16,
7684
7685            pub flags: Box<BitsetMemberFlag>,
7686
7687            pub bitcount: u8,
7688
7689            pub holder_type: Box<TypeKind>,
7690        }
7691
7692        impl CommonBitfield {}
7693
7694        impl xidl_typeobject::XidlTypeObject for CommonBitfield {
7695            fn minimal_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
7696                xidl_typeobject::runtime::build_minimal_struct(
7697                    0u32,
7698                    xidl_typeobject::runtime::type_identifier_none(),
7699                    vec![
7700                        xidl_typeobject::runtime::StructMemberDesc {
7701                            member_id: 1u32,
7702                            member_flags: 0u32,
7703                            type_id: xidl_typeobject::runtime::type_identifier_primitive(
7704                                xidl_typeobject::DDS::XTypes::TK_UINT16,
7705                            ),
7706                            name: "position",
7707                        },
7708                        xidl_typeobject::runtime::StructMemberDesc {
7709                            member_id: 2u32,
7710                            member_flags: 0u32,
7711                            type_id: xidl_typeobject::runtime::type_identifier_for::<
7712                                BitsetMemberFlag,
7713                            >(
7714                                xidl_typeobject::runtime::TypeEquivalence::Minimal
7715                            ),
7716                            name: "flags",
7717                        },
7718                        xidl_typeobject::runtime::StructMemberDesc {
7719                            member_id: 3u32,
7720                            member_flags: 0u32,
7721                            type_id: xidl_typeobject::runtime::type_identifier_primitive(
7722                                xidl_typeobject::DDS::XTypes::TK_BYTE,
7723                            ),
7724                            name: "bitcount",
7725                        },
7726                        xidl_typeobject::runtime::StructMemberDesc {
7727                            member_id: 4u32,
7728                            member_flags: 0u32,
7729                            type_id: xidl_typeobject::runtime::type_identifier_for::<TypeKind>(
7730                                xidl_typeobject::runtime::TypeEquivalence::Minimal,
7731                            ),
7732                            name: "holder_type",
7733                        },
7734                    ],
7735                )
7736            }
7737
7738            fn complete_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
7739                xidl_typeobject::runtime::build_complete_struct(
7740                    "DDS::XTypes::CommonBitfield",
7741                    0u32,
7742                    xidl_typeobject::runtime::type_identifier_none(),
7743                    vec![
7744                        xidl_typeobject::runtime::StructMemberDesc {
7745                            member_id: 1u32,
7746                            member_flags: 0u32,
7747                            type_id: xidl_typeobject::runtime::type_identifier_primitive(
7748                                xidl_typeobject::DDS::XTypes::TK_UINT16,
7749                            ),
7750                            name: "position",
7751                        },
7752                        xidl_typeobject::runtime::StructMemberDesc {
7753                            member_id: 2u32,
7754                            member_flags: 0u32,
7755                            type_id: xidl_typeobject::runtime::type_identifier_for::<
7756                                BitsetMemberFlag,
7757                            >(
7758                                xidl_typeobject::runtime::TypeEquivalence::Complete
7759                            ),
7760                            name: "flags",
7761                        },
7762                        xidl_typeobject::runtime::StructMemberDesc {
7763                            member_id: 3u32,
7764                            member_flags: 0u32,
7765                            type_id: xidl_typeobject::runtime::type_identifier_primitive(
7766                                xidl_typeobject::DDS::XTypes::TK_BYTE,
7767                            ),
7768                            name: "bitcount",
7769                        },
7770                        xidl_typeobject::runtime::StructMemberDesc {
7771                            member_id: 4u32,
7772                            member_flags: 0u32,
7773                            type_id: xidl_typeobject::runtime::type_identifier_for::<TypeKind>(
7774                                xidl_typeobject::runtime::TypeEquivalence::Complete,
7775                            ),
7776                            name: "holder_type",
7777                        },
7778                    ],
7779                )
7780            }
7781        }
7782        pub struct CompleteBitfield {
7783            pub common: Box<CommonBitfield>,
7784
7785            pub detail: Box<CompleteMemberDetail>,
7786        }
7787
7788        impl CompleteBitfield {}
7789
7790        impl xidl_typeobject::XidlTypeObject for CompleteBitfield {
7791            fn minimal_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
7792                xidl_typeobject::runtime::build_minimal_struct(
7793                    0u32,
7794                    xidl_typeobject::runtime::type_identifier_none(),
7795                    vec![
7796                        xidl_typeobject::runtime::StructMemberDesc {
7797                            member_id: 1u32,
7798                            member_flags: 0u32,
7799                            type_id: xidl_typeobject::runtime::type_identifier_for::<CommonBitfield>(
7800                                xidl_typeobject::runtime::TypeEquivalence::Minimal,
7801                            ),
7802                            name: "common",
7803                        },
7804                        xidl_typeobject::runtime::StructMemberDesc {
7805                            member_id: 2u32,
7806                            member_flags: 0u32,
7807                            type_id: xidl_typeobject::runtime::type_identifier_for::<
7808                                CompleteMemberDetail,
7809                            >(
7810                                xidl_typeobject::runtime::TypeEquivalence::Minimal
7811                            ),
7812                            name: "detail",
7813                        },
7814                    ],
7815                )
7816            }
7817
7818            fn complete_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
7819                xidl_typeobject::runtime::build_complete_struct(
7820                    "DDS::XTypes::CompleteBitfield",
7821                    0u32,
7822                    xidl_typeobject::runtime::type_identifier_none(),
7823                    vec![
7824                        xidl_typeobject::runtime::StructMemberDesc {
7825                            member_id: 1u32,
7826                            member_flags: 0u32,
7827                            type_id: xidl_typeobject::runtime::type_identifier_for::<CommonBitfield>(
7828                                xidl_typeobject::runtime::TypeEquivalence::Complete,
7829                            ),
7830                            name: "common",
7831                        },
7832                        xidl_typeobject::runtime::StructMemberDesc {
7833                            member_id: 2u32,
7834                            member_flags: 0u32,
7835                            type_id: xidl_typeobject::runtime::type_identifier_for::<
7836                                CompleteMemberDetail,
7837                            >(
7838                                xidl_typeobject::runtime::TypeEquivalence::Complete
7839                            ),
7840                            name: "detail",
7841                        },
7842                    ],
7843                )
7844            }
7845        }
7846        pub type CompleteBitfieldSeq = Vec<CompleteBitfield>;
7847        pub struct MinimalBitfield {
7848            pub common: Box<CommonBitfield>,
7849
7850            pub name_hash: Box<NameHash>,
7851        }
7852
7853        impl MinimalBitfield {}
7854
7855        impl xidl_typeobject::XidlTypeObject for MinimalBitfield {
7856            fn minimal_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
7857                xidl_typeobject::runtime::build_minimal_struct(
7858                    0u32,
7859                    xidl_typeobject::runtime::type_identifier_none(),
7860                    vec![
7861                        xidl_typeobject::runtime::StructMemberDesc {
7862                            member_id: 1u32,
7863                            member_flags: 0u32,
7864                            type_id: xidl_typeobject::runtime::type_identifier_for::<CommonBitfield>(
7865                                xidl_typeobject::runtime::TypeEquivalence::Minimal,
7866                            ),
7867                            name: "common",
7868                        },
7869                        xidl_typeobject::runtime::StructMemberDesc {
7870                            member_id: 2u32,
7871                            member_flags: 0u32,
7872                            type_id: xidl_typeobject::runtime::type_identifier_for::<NameHash>(
7873                                xidl_typeobject::runtime::TypeEquivalence::Minimal,
7874                            ),
7875                            name: "name_hash",
7876                        },
7877                    ],
7878                )
7879            }
7880
7881            fn complete_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
7882                xidl_typeobject::runtime::build_complete_struct(
7883                    "DDS::XTypes::MinimalBitfield",
7884                    0u32,
7885                    xidl_typeobject::runtime::type_identifier_none(),
7886                    vec![
7887                        xidl_typeobject::runtime::StructMemberDesc {
7888                            member_id: 1u32,
7889                            member_flags: 0u32,
7890                            type_id: xidl_typeobject::runtime::type_identifier_for::<CommonBitfield>(
7891                                xidl_typeobject::runtime::TypeEquivalence::Complete,
7892                            ),
7893                            name: "common",
7894                        },
7895                        xidl_typeobject::runtime::StructMemberDesc {
7896                            member_id: 2u32,
7897                            member_flags: 0u32,
7898                            type_id: xidl_typeobject::runtime::type_identifier_for::<NameHash>(
7899                                xidl_typeobject::runtime::TypeEquivalence::Complete,
7900                            ),
7901                            name: "name_hash",
7902                        },
7903                    ],
7904                )
7905            }
7906        }
7907        pub type MinimalBitfieldSeq = Vec<MinimalBitfield>;
7908        pub struct CompleteBitsetHeader {
7909            pub detail: Box<CompleteTypeDetail>,
7910        }
7911
7912        impl CompleteBitsetHeader {}
7913
7914        impl xidl_typeobject::XidlTypeObject for CompleteBitsetHeader {
7915            fn minimal_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
7916                xidl_typeobject::runtime::build_minimal_struct(
7917                    0u32,
7918                    xidl_typeobject::runtime::type_identifier_none(),
7919                    vec![xidl_typeobject::runtime::StructMemberDesc {
7920                        member_id: 1u32,
7921                        member_flags: 0u32,
7922                        type_id: xidl_typeobject::runtime::type_identifier_for::<CompleteTypeDetail>(
7923                            xidl_typeobject::runtime::TypeEquivalence::Minimal,
7924                        ),
7925                        name: "detail",
7926                    }],
7927                )
7928            }
7929
7930            fn complete_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
7931                xidl_typeobject::runtime::build_complete_struct(
7932                    "DDS::XTypes::CompleteBitsetHeader",
7933                    0u32,
7934                    xidl_typeobject::runtime::type_identifier_none(),
7935                    vec![xidl_typeobject::runtime::StructMemberDesc {
7936                        member_id: 1u32,
7937                        member_flags: 0u32,
7938                        type_id: xidl_typeobject::runtime::type_identifier_for::<CompleteTypeDetail>(
7939                            xidl_typeobject::runtime::TypeEquivalence::Complete,
7940                        ),
7941                        name: "detail",
7942                    }],
7943                )
7944            }
7945        }
7946        pub struct MinimalBitsetHeader {}
7947
7948        impl MinimalBitsetHeader {}
7949
7950        impl xidl_typeobject::XidlTypeObject for MinimalBitsetHeader {
7951            fn minimal_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
7952                xidl_typeobject::runtime::build_minimal_struct(
7953                    0u32,
7954                    xidl_typeobject::runtime::type_identifier_none(),
7955                    vec![],
7956                )
7957            }
7958
7959            fn complete_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
7960                xidl_typeobject::runtime::build_complete_struct(
7961                    "DDS::XTypes::MinimalBitsetHeader",
7962                    0u32,
7963                    xidl_typeobject::runtime::type_identifier_none(),
7964                    vec![],
7965                )
7966            }
7967        }
7968        pub struct CompleteBitsetType {
7969            pub bitset_flags: Box<BitsetTypeFlag>,
7970
7971            pub header: Box<CompleteBitsetHeader>,
7972
7973            pub field_seq: Box<CompleteBitfieldSeq>,
7974        }
7975
7976        impl CompleteBitsetType {}
7977
7978        impl xidl_typeobject::XidlTypeObject for CompleteBitsetType {
7979            fn minimal_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
7980                xidl_typeobject::runtime::build_minimal_struct(
7981                    0u32,
7982                    xidl_typeobject::runtime::type_identifier_none(),
7983                    vec![
7984                        xidl_typeobject::runtime::StructMemberDesc {
7985                            member_id: 1u32,
7986                            member_flags: 0u32,
7987                            type_id: xidl_typeobject::runtime::type_identifier_for::<BitsetTypeFlag>(
7988                                xidl_typeobject::runtime::TypeEquivalence::Minimal,
7989                            ),
7990                            name: "bitset_flags",
7991                        },
7992                        xidl_typeobject::runtime::StructMemberDesc {
7993                            member_id: 2u32,
7994                            member_flags: 0u32,
7995                            type_id: xidl_typeobject::runtime::type_identifier_for::<
7996                                CompleteBitsetHeader,
7997                            >(
7998                                xidl_typeobject::runtime::TypeEquivalence::Minimal
7999                            ),
8000                            name: "header",
8001                        },
8002                        xidl_typeobject::runtime::StructMemberDesc {
8003                            member_id: 3u32,
8004                            member_flags: 0u32,
8005                            type_id: xidl_typeobject::runtime::type_identifier_for::<
8006                                CompleteBitfieldSeq,
8007                            >(
8008                                xidl_typeobject::runtime::TypeEquivalence::Minimal
8009                            ),
8010                            name: "field_seq",
8011                        },
8012                    ],
8013                )
8014            }
8015
8016            fn complete_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
8017                xidl_typeobject::runtime::build_complete_struct(
8018                    "DDS::XTypes::CompleteBitsetType",
8019                    0u32,
8020                    xidl_typeobject::runtime::type_identifier_none(),
8021                    vec![
8022                        xidl_typeobject::runtime::StructMemberDesc {
8023                            member_id: 1u32,
8024                            member_flags: 0u32,
8025                            type_id: xidl_typeobject::runtime::type_identifier_for::<BitsetTypeFlag>(
8026                                xidl_typeobject::runtime::TypeEquivalence::Complete,
8027                            ),
8028                            name: "bitset_flags",
8029                        },
8030                        xidl_typeobject::runtime::StructMemberDesc {
8031                            member_id: 2u32,
8032                            member_flags: 0u32,
8033                            type_id: xidl_typeobject::runtime::type_identifier_for::<
8034                                CompleteBitsetHeader,
8035                            >(
8036                                xidl_typeobject::runtime::TypeEquivalence::Complete
8037                            ),
8038                            name: "header",
8039                        },
8040                        xidl_typeobject::runtime::StructMemberDesc {
8041                            member_id: 3u32,
8042                            member_flags: 0u32,
8043                            type_id: xidl_typeobject::runtime::type_identifier_for::<
8044                                CompleteBitfieldSeq,
8045                            >(
8046                                xidl_typeobject::runtime::TypeEquivalence::Complete
8047                            ),
8048                            name: "field_seq",
8049                        },
8050                    ],
8051                )
8052            }
8053        }
8054        pub struct MinimalBitsetType {
8055            pub bitset_flags: Box<BitsetTypeFlag>,
8056
8057            pub header: Box<MinimalBitsetHeader>,
8058
8059            pub field_seq: Box<MinimalBitfieldSeq>,
8060        }
8061
8062        impl MinimalBitsetType {}
8063
8064        impl xidl_typeobject::XidlTypeObject for MinimalBitsetType {
8065            fn minimal_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
8066                xidl_typeobject::runtime::build_minimal_struct(
8067                    0u32,
8068                    xidl_typeobject::runtime::type_identifier_none(),
8069                    vec![
8070                        xidl_typeobject::runtime::StructMemberDesc {
8071                            member_id: 1u32,
8072                            member_flags: 0u32,
8073                            type_id: xidl_typeobject::runtime::type_identifier_for::<BitsetTypeFlag>(
8074                                xidl_typeobject::runtime::TypeEquivalence::Minimal,
8075                            ),
8076                            name: "bitset_flags",
8077                        },
8078                        xidl_typeobject::runtime::StructMemberDesc {
8079                            member_id: 2u32,
8080                            member_flags: 0u32,
8081                            type_id: xidl_typeobject::runtime::type_identifier_for::<
8082                                MinimalBitsetHeader,
8083                            >(
8084                                xidl_typeobject::runtime::TypeEquivalence::Minimal
8085                            ),
8086                            name: "header",
8087                        },
8088                        xidl_typeobject::runtime::StructMemberDesc {
8089                            member_id: 3u32,
8090                            member_flags: 0u32,
8091                            type_id: xidl_typeobject::runtime::type_identifier_for::<
8092                                MinimalBitfieldSeq,
8093                            >(
8094                                xidl_typeobject::runtime::TypeEquivalence::Minimal
8095                            ),
8096                            name: "field_seq",
8097                        },
8098                    ],
8099                )
8100            }
8101
8102            fn complete_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
8103                xidl_typeobject::runtime::build_complete_struct(
8104                    "DDS::XTypes::MinimalBitsetType",
8105                    0u32,
8106                    xidl_typeobject::runtime::type_identifier_none(),
8107                    vec![
8108                        xidl_typeobject::runtime::StructMemberDesc {
8109                            member_id: 1u32,
8110                            member_flags: 0u32,
8111                            type_id: xidl_typeobject::runtime::type_identifier_for::<BitsetTypeFlag>(
8112                                xidl_typeobject::runtime::TypeEquivalence::Complete,
8113                            ),
8114                            name: "bitset_flags",
8115                        },
8116                        xidl_typeobject::runtime::StructMemberDesc {
8117                            member_id: 2u32,
8118                            member_flags: 0u32,
8119                            type_id: xidl_typeobject::runtime::type_identifier_for::<
8120                                MinimalBitsetHeader,
8121                            >(
8122                                xidl_typeobject::runtime::TypeEquivalence::Complete
8123                            ),
8124                            name: "header",
8125                        },
8126                        xidl_typeobject::runtime::StructMemberDesc {
8127                            member_id: 3u32,
8128                            member_flags: 0u32,
8129                            type_id: xidl_typeobject::runtime::type_identifier_for::<
8130                                MinimalBitfieldSeq,
8131                            >(
8132                                xidl_typeobject::runtime::TypeEquivalence::Complete
8133                            ),
8134                            name: "field_seq",
8135                        },
8136                    ],
8137                )
8138            }
8139        }
8140        pub struct CompleteExtendedType {}
8141
8142        impl CompleteExtendedType {}
8143
8144        impl xidl_typeobject::XidlTypeObject for CompleteExtendedType {
8145            fn minimal_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
8146                xidl_typeobject::runtime::build_minimal_struct(
8147                    0u32,
8148                    xidl_typeobject::runtime::type_identifier_none(),
8149                    vec![],
8150                )
8151            }
8152
8153            fn complete_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
8154                xidl_typeobject::runtime::build_complete_struct(
8155                    "DDS::XTypes::CompleteExtendedType",
8156                    0u32,
8157                    xidl_typeobject::runtime::type_identifier_none(),
8158                    vec![],
8159                )
8160            }
8161        }
8162        pub struct CompleteTypeObject {
8163            pub _d: u8,
8164
8165            pub alias_type: Option<Box<CompleteAliasType>>,
8166
8167            pub annotation_type: Option<Box<CompleteAnnotationType>>,
8168
8169            pub struct_type: Option<Box<CompleteStructType>>,
8170
8171            pub union_type: Option<Box<CompleteUnionType>>,
8172
8173            pub bitset_type: Option<Box<CompleteBitsetType>>,
8174
8175            pub sequence_type: Option<Box<CompleteSequenceType>>,
8176
8177            pub array_type: Option<Box<CompleteArrayType>>,
8178
8179            pub map_type: Option<Box<CompleteMapType>>,
8180
8181            pub enumerated_type: Option<Box<CompleteEnumeratedType>>,
8182
8183            pub bitmask_type: Option<Box<CompleteBitmaskType>>,
8184
8185            pub extended_type: Option<Box<CompleteExtendedType>>,
8186        }
8187
8188        impl CompleteTypeObject {
8189            pub fn new_alias_type(value: Box<CompleteAliasType>) -> Self {
8190                Self {
8191                    _d: TK_ALIAS,
8192                    alias_type: Some(value),
8193
8194                    annotation_type: None,
8195
8196                    struct_type: None,
8197
8198                    union_type: None,
8199
8200                    bitset_type: None,
8201
8202                    sequence_type: None,
8203
8204                    array_type: None,
8205
8206                    map_type: None,
8207
8208                    enumerated_type: None,
8209
8210                    bitmask_type: None,
8211
8212                    extended_type: None,
8213                }
8214            }
8215
8216            pub fn is_alias_type(&self) -> bool {
8217                matches!(self._d, TK_ALIAS)
8218            }
8219
8220            pub fn new_annotation_type(value: Box<CompleteAnnotationType>) -> Self {
8221                Self {
8222                    _d: TK_ANNOTATION,
8223                    annotation_type: Some(value),
8224
8225                    alias_type: None,
8226
8227                    struct_type: None,
8228
8229                    union_type: None,
8230
8231                    bitset_type: None,
8232
8233                    sequence_type: None,
8234
8235                    array_type: None,
8236
8237                    map_type: None,
8238
8239                    enumerated_type: None,
8240
8241                    bitmask_type: None,
8242
8243                    extended_type: None,
8244                }
8245            }
8246
8247            pub fn is_annotation_type(&self) -> bool {
8248                matches!(self._d, TK_ANNOTATION)
8249            }
8250
8251            pub fn new_struct_type(value: Box<CompleteStructType>) -> Self {
8252                Self {
8253                    _d: TK_STRUCTURE,
8254                    struct_type: Some(value),
8255
8256                    alias_type: None,
8257
8258                    annotation_type: None,
8259
8260                    union_type: None,
8261
8262                    bitset_type: None,
8263
8264                    sequence_type: None,
8265
8266                    array_type: None,
8267
8268                    map_type: None,
8269
8270                    enumerated_type: None,
8271
8272                    bitmask_type: None,
8273
8274                    extended_type: None,
8275                }
8276            }
8277
8278            pub fn is_struct_type(&self) -> bool {
8279                matches!(self._d, TK_STRUCTURE)
8280            }
8281
8282            pub fn new_union_type(value: Box<CompleteUnionType>) -> Self {
8283                Self {
8284                    _d: TK_UNION,
8285                    union_type: Some(value),
8286
8287                    alias_type: None,
8288
8289                    annotation_type: None,
8290
8291                    struct_type: None,
8292
8293                    bitset_type: None,
8294
8295                    sequence_type: None,
8296
8297                    array_type: None,
8298
8299                    map_type: None,
8300
8301                    enumerated_type: None,
8302
8303                    bitmask_type: None,
8304
8305                    extended_type: None,
8306                }
8307            }
8308
8309            pub fn is_union_type(&self) -> bool {
8310                matches!(self._d, TK_UNION)
8311            }
8312
8313            pub fn new_bitset_type(value: Box<CompleteBitsetType>) -> Self {
8314                Self {
8315                    _d: TK_BITSET,
8316                    bitset_type: Some(value),
8317
8318                    alias_type: None,
8319
8320                    annotation_type: None,
8321
8322                    struct_type: None,
8323
8324                    union_type: None,
8325
8326                    sequence_type: None,
8327
8328                    array_type: None,
8329
8330                    map_type: None,
8331
8332                    enumerated_type: None,
8333
8334                    bitmask_type: None,
8335
8336                    extended_type: None,
8337                }
8338            }
8339
8340            pub fn is_bitset_type(&self) -> bool {
8341                matches!(self._d, TK_BITSET)
8342            }
8343
8344            pub fn new_sequence_type(value: Box<CompleteSequenceType>) -> Self {
8345                Self {
8346                    _d: TK_SEQUENCE,
8347                    sequence_type: Some(value),
8348
8349                    alias_type: None,
8350
8351                    annotation_type: None,
8352
8353                    struct_type: None,
8354
8355                    union_type: None,
8356
8357                    bitset_type: None,
8358
8359                    array_type: None,
8360
8361                    map_type: None,
8362
8363                    enumerated_type: None,
8364
8365                    bitmask_type: None,
8366
8367                    extended_type: None,
8368                }
8369            }
8370
8371            pub fn is_sequence_type(&self) -> bool {
8372                matches!(self._d, TK_SEQUENCE)
8373            }
8374
8375            pub fn new_array_type(value: Box<CompleteArrayType>) -> Self {
8376                Self {
8377                    _d: TK_ARRAY,
8378                    array_type: Some(value),
8379
8380                    alias_type: None,
8381
8382                    annotation_type: None,
8383
8384                    struct_type: None,
8385
8386                    union_type: None,
8387
8388                    bitset_type: None,
8389
8390                    sequence_type: None,
8391
8392                    map_type: None,
8393
8394                    enumerated_type: None,
8395
8396                    bitmask_type: None,
8397
8398                    extended_type: None,
8399                }
8400            }
8401
8402            pub fn is_array_type(&self) -> bool {
8403                matches!(self._d, TK_ARRAY)
8404            }
8405
8406            pub fn new_map_type(value: Box<CompleteMapType>) -> Self {
8407                Self {
8408                    _d: TK_MAP,
8409                    map_type: Some(value),
8410
8411                    alias_type: None,
8412
8413                    annotation_type: None,
8414
8415                    struct_type: None,
8416
8417                    union_type: None,
8418
8419                    bitset_type: None,
8420
8421                    sequence_type: None,
8422
8423                    array_type: None,
8424
8425                    enumerated_type: None,
8426
8427                    bitmask_type: None,
8428
8429                    extended_type: None,
8430                }
8431            }
8432
8433            pub fn is_map_type(&self) -> bool {
8434                matches!(self._d, TK_MAP)
8435            }
8436
8437            pub fn new_enumerated_type(value: Box<CompleteEnumeratedType>) -> Self {
8438                Self {
8439                    _d: TK_ENUM,
8440                    enumerated_type: Some(value),
8441
8442                    alias_type: None,
8443
8444                    annotation_type: None,
8445
8446                    struct_type: None,
8447
8448                    union_type: None,
8449
8450                    bitset_type: None,
8451
8452                    sequence_type: None,
8453
8454                    array_type: None,
8455
8456                    map_type: None,
8457
8458                    bitmask_type: None,
8459
8460                    extended_type: None,
8461                }
8462            }
8463
8464            pub fn is_enumerated_type(&self) -> bool {
8465                matches!(self._d, TK_ENUM)
8466            }
8467
8468            pub fn new_bitmask_type(value: Box<CompleteBitmaskType>) -> Self {
8469                Self {
8470                    _d: TK_BITMASK,
8471                    bitmask_type: Some(value),
8472
8473                    alias_type: None,
8474
8475                    annotation_type: None,
8476
8477                    struct_type: None,
8478
8479                    union_type: None,
8480
8481                    bitset_type: None,
8482
8483                    sequence_type: None,
8484
8485                    array_type: None,
8486
8487                    map_type: None,
8488
8489                    enumerated_type: None,
8490
8491                    extended_type: None,
8492                }
8493            }
8494
8495            pub fn is_bitmask_type(&self) -> bool {
8496                matches!(self._d, TK_BITMASK)
8497            }
8498
8499            pub fn new_extended_type(value: Box<CompleteExtendedType>) -> Self {
8500                Self {
8501                    _d: u8::default(),
8502                    extended_type: Some(value),
8503
8504                    alias_type: None,
8505
8506                    annotation_type: None,
8507
8508                    struct_type: None,
8509
8510                    union_type: None,
8511
8512                    bitset_type: None,
8513
8514                    sequence_type: None,
8515
8516                    array_type: None,
8517
8518                    map_type: None,
8519
8520                    enumerated_type: None,
8521
8522                    bitmask_type: None,
8523                }
8524            }
8525
8526            pub fn is_extended_type(&self) -> bool {
8527                matches!(self._d, _)
8528            }
8529
8530            pub fn tag(&self) -> &u8 {
8531                &self._d
8532            }
8533        }
8534
8535        impl xidl_typeobject::XidlTypeObject for CompleteTypeObject {
8536            fn minimal_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
8537                xidl_typeobject::runtime::build_minimal_union(
8538                    0u32,
8539                    xidl_typeobject::runtime::type_identifier_primitive(
8540                        xidl_typeobject::DDS::XTypes::TK_BYTE,
8541                    ),
8542                    vec![
8543                        xidl_typeobject::runtime::UnionMemberDesc {
8544                            member_id: 7u32,
8545                            member_flags: 0u32,
8546                            type_id: xidl_typeobject::runtime::type_identifier_for::<
8547                                CompleteArrayType,
8548                            >(
8549                                xidl_typeobject::runtime::TypeEquivalence::Minimal
8550                            ),
8551                            name: "array_type",
8552                            labels: vec![0i32],
8553                        },
8554                        xidl_typeobject::runtime::UnionMemberDesc {
8555                            member_id: 4u32,
8556                            member_flags: 0u32,
8557                            type_id: xidl_typeobject::runtime::type_identifier_for::<
8558                                CompleteUnionType,
8559                            >(
8560                                xidl_typeobject::runtime::TypeEquivalence::Minimal
8561                            ),
8562                            name: "union_type",
8563                            labels: vec![0i32],
8564                        },
8565                        xidl_typeobject::runtime::UnionMemberDesc {
8566                            member_id: 3u32,
8567                            member_flags: 0u32,
8568                            type_id: xidl_typeobject::runtime::type_identifier_for::<
8569                                CompleteStructType,
8570                            >(
8571                                xidl_typeobject::runtime::TypeEquivalence::Minimal
8572                            ),
8573                            name: "struct_type",
8574                            labels: vec![0i32],
8575                        },
8576                        xidl_typeobject::runtime::UnionMemberDesc {
8577                            member_id: 11u32,
8578                            member_flags: 64u32,
8579                            type_id: xidl_typeobject::runtime::type_identifier_for::<
8580                                CompleteExtendedType,
8581                            >(
8582                                xidl_typeobject::runtime::TypeEquivalence::Minimal
8583                            ),
8584                            name: "extended_type",
8585                            labels: vec![],
8586                        },
8587                        xidl_typeobject::runtime::UnionMemberDesc {
8588                            member_id: 6u32,
8589                            member_flags: 0u32,
8590                            type_id: xidl_typeobject::runtime::type_identifier_for::<
8591                                CompleteSequenceType,
8592                            >(
8593                                xidl_typeobject::runtime::TypeEquivalence::Minimal
8594                            ),
8595                            name: "sequence_type",
8596                            labels: vec![0i32],
8597                        },
8598                        xidl_typeobject::runtime::UnionMemberDesc {
8599                            member_id: 10u32,
8600                            member_flags: 0u32,
8601                            type_id: xidl_typeobject::runtime::type_identifier_for::<
8602                                CompleteBitmaskType,
8603                            >(
8604                                xidl_typeobject::runtime::TypeEquivalence::Minimal
8605                            ),
8606                            name: "bitmask_type",
8607                            labels: vec![0i32],
8608                        },
8609                        xidl_typeobject::runtime::UnionMemberDesc {
8610                            member_id: 8u32,
8611                            member_flags: 0u32,
8612                            type_id: xidl_typeobject::runtime::type_identifier_for::<CompleteMapType>(
8613                                xidl_typeobject::runtime::TypeEquivalence::Minimal,
8614                            ),
8615                            name: "map_type",
8616                            labels: vec![0i32],
8617                        },
8618                        xidl_typeobject::runtime::UnionMemberDesc {
8619                            member_id: 2u32,
8620                            member_flags: 0u32,
8621                            type_id: xidl_typeobject::runtime::type_identifier_for::<
8622                                CompleteAnnotationType,
8623                            >(
8624                                xidl_typeobject::runtime::TypeEquivalence::Minimal
8625                            ),
8626                            name: "annotation_type",
8627                            labels: vec![0i32],
8628                        },
8629                        xidl_typeobject::runtime::UnionMemberDesc {
8630                            member_id: 9u32,
8631                            member_flags: 0u32,
8632                            type_id: xidl_typeobject::runtime::type_identifier_for::<
8633                                CompleteEnumeratedType,
8634                            >(
8635                                xidl_typeobject::runtime::TypeEquivalence::Minimal
8636                            ),
8637                            name: "enumerated_type",
8638                            labels: vec![0i32],
8639                        },
8640                        xidl_typeobject::runtime::UnionMemberDesc {
8641                            member_id: 1u32,
8642                            member_flags: 0u32,
8643                            type_id: xidl_typeobject::runtime::type_identifier_for::<
8644                                CompleteAliasType,
8645                            >(
8646                                xidl_typeobject::runtime::TypeEquivalence::Minimal
8647                            ),
8648                            name: "alias_type",
8649                            labels: vec![0i32],
8650                        },
8651                        xidl_typeobject::runtime::UnionMemberDesc {
8652                            member_id: 5u32,
8653                            member_flags: 0u32,
8654                            type_id: xidl_typeobject::runtime::type_identifier_for::<
8655                                CompleteBitsetType,
8656                            >(
8657                                xidl_typeobject::runtime::TypeEquivalence::Minimal
8658                            ),
8659                            name: "bitset_type",
8660                            labels: vec![0i32],
8661                        },
8662                    ],
8663                )
8664            }
8665
8666            fn complete_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
8667                xidl_typeobject::runtime::build_complete_union(
8668                    "DDS::XTypes::CompleteTypeObject",
8669                    0u32,
8670                    xidl_typeobject::runtime::type_identifier_primitive(
8671                        xidl_typeobject::DDS::XTypes::TK_BYTE,
8672                    ),
8673                    vec![
8674                        xidl_typeobject::runtime::UnionMemberDesc {
8675                            member_id: 7u32,
8676                            member_flags: 0u32,
8677                            type_id: xidl_typeobject::runtime::type_identifier_for::<
8678                                CompleteArrayType,
8679                            >(
8680                                xidl_typeobject::runtime::TypeEquivalence::Complete
8681                            ),
8682                            name: "array_type",
8683                            labels: vec![0i32],
8684                        },
8685                        xidl_typeobject::runtime::UnionMemberDesc {
8686                            member_id: 4u32,
8687                            member_flags: 0u32,
8688                            type_id: xidl_typeobject::runtime::type_identifier_for::<
8689                                CompleteUnionType,
8690                            >(
8691                                xidl_typeobject::runtime::TypeEquivalence::Complete
8692                            ),
8693                            name: "union_type",
8694                            labels: vec![0i32],
8695                        },
8696                        xidl_typeobject::runtime::UnionMemberDesc {
8697                            member_id: 3u32,
8698                            member_flags: 0u32,
8699                            type_id: xidl_typeobject::runtime::type_identifier_for::<
8700                                CompleteStructType,
8701                            >(
8702                                xidl_typeobject::runtime::TypeEquivalence::Complete
8703                            ),
8704                            name: "struct_type",
8705                            labels: vec![0i32],
8706                        },
8707                        xidl_typeobject::runtime::UnionMemberDesc {
8708                            member_id: 11u32,
8709                            member_flags: 64u32,
8710                            type_id: xidl_typeobject::runtime::type_identifier_for::<
8711                                CompleteExtendedType,
8712                            >(
8713                                xidl_typeobject::runtime::TypeEquivalence::Complete
8714                            ),
8715                            name: "extended_type",
8716                            labels: vec![],
8717                        },
8718                        xidl_typeobject::runtime::UnionMemberDesc {
8719                            member_id: 6u32,
8720                            member_flags: 0u32,
8721                            type_id: xidl_typeobject::runtime::type_identifier_for::<
8722                                CompleteSequenceType,
8723                            >(
8724                                xidl_typeobject::runtime::TypeEquivalence::Complete
8725                            ),
8726                            name: "sequence_type",
8727                            labels: vec![0i32],
8728                        },
8729                        xidl_typeobject::runtime::UnionMemberDesc {
8730                            member_id: 10u32,
8731                            member_flags: 0u32,
8732                            type_id: xidl_typeobject::runtime::type_identifier_for::<
8733                                CompleteBitmaskType,
8734                            >(
8735                                xidl_typeobject::runtime::TypeEquivalence::Complete
8736                            ),
8737                            name: "bitmask_type",
8738                            labels: vec![0i32],
8739                        },
8740                        xidl_typeobject::runtime::UnionMemberDesc {
8741                            member_id: 8u32,
8742                            member_flags: 0u32,
8743                            type_id: xidl_typeobject::runtime::type_identifier_for::<CompleteMapType>(
8744                                xidl_typeobject::runtime::TypeEquivalence::Complete,
8745                            ),
8746                            name: "map_type",
8747                            labels: vec![0i32],
8748                        },
8749                        xidl_typeobject::runtime::UnionMemberDesc {
8750                            member_id: 2u32,
8751                            member_flags: 0u32,
8752                            type_id: xidl_typeobject::runtime::type_identifier_for::<
8753                                CompleteAnnotationType,
8754                            >(
8755                                xidl_typeobject::runtime::TypeEquivalence::Complete
8756                            ),
8757                            name: "annotation_type",
8758                            labels: vec![0i32],
8759                        },
8760                        xidl_typeobject::runtime::UnionMemberDesc {
8761                            member_id: 9u32,
8762                            member_flags: 0u32,
8763                            type_id: xidl_typeobject::runtime::type_identifier_for::<
8764                                CompleteEnumeratedType,
8765                            >(
8766                                xidl_typeobject::runtime::TypeEquivalence::Complete
8767                            ),
8768                            name: "enumerated_type",
8769                            labels: vec![0i32],
8770                        },
8771                        xidl_typeobject::runtime::UnionMemberDesc {
8772                            member_id: 1u32,
8773                            member_flags: 0u32,
8774                            type_id: xidl_typeobject::runtime::type_identifier_for::<
8775                                CompleteAliasType,
8776                            >(
8777                                xidl_typeobject::runtime::TypeEquivalence::Complete
8778                            ),
8779                            name: "alias_type",
8780                            labels: vec![0i32],
8781                        },
8782                        xidl_typeobject::runtime::UnionMemberDesc {
8783                            member_id: 5u32,
8784                            member_flags: 0u32,
8785                            type_id: xidl_typeobject::runtime::type_identifier_for::<
8786                                CompleteBitsetType,
8787                            >(
8788                                xidl_typeobject::runtime::TypeEquivalence::Complete
8789                            ),
8790                            name: "bitset_type",
8791                            labels: vec![0i32],
8792                        },
8793                    ],
8794                )
8795            }
8796        }
8797        pub struct MinimalExtendedType {}
8798
8799        impl MinimalExtendedType {}
8800
8801        impl xidl_typeobject::XidlTypeObject for MinimalExtendedType {
8802            fn minimal_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
8803                xidl_typeobject::runtime::build_minimal_struct(
8804                    0u32,
8805                    xidl_typeobject::runtime::type_identifier_none(),
8806                    vec![],
8807                )
8808            }
8809
8810            fn complete_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
8811                xidl_typeobject::runtime::build_complete_struct(
8812                    "DDS::XTypes::MinimalExtendedType",
8813                    0u32,
8814                    xidl_typeobject::runtime::type_identifier_none(),
8815                    vec![],
8816                )
8817            }
8818        }
8819        pub struct MinimalTypeObject {
8820            pub _d: u8,
8821
8822            pub alias_type: Option<Box<MinimalAliasType>>,
8823
8824            pub annotation_type: Option<Box<MinimalAnnotationType>>,
8825
8826            pub struct_type: Option<Box<MinimalStructType>>,
8827
8828            pub union_type: Option<Box<MinimalUnionType>>,
8829
8830            pub bitset_type: Option<Box<MinimalBitsetType>>,
8831
8832            pub sequence_type: Option<Box<MinimalSequenceType>>,
8833
8834            pub array_type: Option<Box<MinimalArrayType>>,
8835
8836            pub map_type: Option<Box<MinimalMapType>>,
8837
8838            pub enumerated_type: Option<Box<MinimalEnumeratedType>>,
8839
8840            pub bitmask_type: Option<Box<MinimalBitmaskType>>,
8841
8842            pub extended_type: Option<Box<MinimalExtendedType>>,
8843        }
8844
8845        impl MinimalTypeObject {
8846            pub fn new_alias_type(value: Box<MinimalAliasType>) -> Self {
8847                Self {
8848                    _d: TK_ALIAS,
8849                    alias_type: Some(value),
8850
8851                    annotation_type: None,
8852
8853                    struct_type: None,
8854
8855                    union_type: None,
8856
8857                    bitset_type: None,
8858
8859                    sequence_type: None,
8860
8861                    array_type: None,
8862
8863                    map_type: None,
8864
8865                    enumerated_type: None,
8866
8867                    bitmask_type: None,
8868
8869                    extended_type: None,
8870                }
8871            }
8872
8873            pub fn is_alias_type(&self) -> bool {
8874                matches!(self._d, TK_ALIAS)
8875            }
8876
8877            pub fn new_annotation_type(value: Box<MinimalAnnotationType>) -> Self {
8878                Self {
8879                    _d: TK_ANNOTATION,
8880                    annotation_type: Some(value),
8881
8882                    alias_type: None,
8883
8884                    struct_type: None,
8885
8886                    union_type: None,
8887
8888                    bitset_type: None,
8889
8890                    sequence_type: None,
8891
8892                    array_type: None,
8893
8894                    map_type: None,
8895
8896                    enumerated_type: None,
8897
8898                    bitmask_type: None,
8899
8900                    extended_type: None,
8901                }
8902            }
8903
8904            pub fn is_annotation_type(&self) -> bool {
8905                matches!(self._d, TK_ANNOTATION)
8906            }
8907
8908            pub fn new_struct_type(value: Box<MinimalStructType>) -> Self {
8909                Self {
8910                    _d: TK_STRUCTURE,
8911                    struct_type: Some(value),
8912
8913                    alias_type: None,
8914
8915                    annotation_type: None,
8916
8917                    union_type: None,
8918
8919                    bitset_type: None,
8920
8921                    sequence_type: None,
8922
8923                    array_type: None,
8924
8925                    map_type: None,
8926
8927                    enumerated_type: None,
8928
8929                    bitmask_type: None,
8930
8931                    extended_type: None,
8932                }
8933            }
8934
8935            pub fn is_struct_type(&self) -> bool {
8936                matches!(self._d, TK_STRUCTURE)
8937            }
8938
8939            pub fn new_union_type(value: Box<MinimalUnionType>) -> Self {
8940                Self {
8941                    _d: TK_UNION,
8942                    union_type: Some(value),
8943
8944                    alias_type: None,
8945
8946                    annotation_type: None,
8947
8948                    struct_type: None,
8949
8950                    bitset_type: None,
8951
8952                    sequence_type: None,
8953
8954                    array_type: None,
8955
8956                    map_type: None,
8957
8958                    enumerated_type: None,
8959
8960                    bitmask_type: None,
8961
8962                    extended_type: None,
8963                }
8964            }
8965
8966            pub fn is_union_type(&self) -> bool {
8967                matches!(self._d, TK_UNION)
8968            }
8969
8970            pub fn new_bitset_type(value: Box<MinimalBitsetType>) -> Self {
8971                Self {
8972                    _d: TK_BITSET,
8973                    bitset_type: Some(value),
8974
8975                    alias_type: None,
8976
8977                    annotation_type: None,
8978
8979                    struct_type: None,
8980
8981                    union_type: None,
8982
8983                    sequence_type: None,
8984
8985                    array_type: None,
8986
8987                    map_type: None,
8988
8989                    enumerated_type: None,
8990
8991                    bitmask_type: None,
8992
8993                    extended_type: None,
8994                }
8995            }
8996
8997            pub fn is_bitset_type(&self) -> bool {
8998                matches!(self._d, TK_BITSET)
8999            }
9000
9001            pub fn new_sequence_type(value: Box<MinimalSequenceType>) -> Self {
9002                Self {
9003                    _d: TK_SEQUENCE,
9004                    sequence_type: Some(value),
9005
9006                    alias_type: None,
9007
9008                    annotation_type: None,
9009
9010                    struct_type: None,
9011
9012                    union_type: None,
9013
9014                    bitset_type: None,
9015
9016                    array_type: None,
9017
9018                    map_type: None,
9019
9020                    enumerated_type: None,
9021
9022                    bitmask_type: None,
9023
9024                    extended_type: None,
9025                }
9026            }
9027
9028            pub fn is_sequence_type(&self) -> bool {
9029                matches!(self._d, TK_SEQUENCE)
9030            }
9031
9032            pub fn new_array_type(value: Box<MinimalArrayType>) -> Self {
9033                Self {
9034                    _d: TK_ARRAY,
9035                    array_type: Some(value),
9036
9037                    alias_type: None,
9038
9039                    annotation_type: None,
9040
9041                    struct_type: None,
9042
9043                    union_type: None,
9044
9045                    bitset_type: None,
9046
9047                    sequence_type: None,
9048
9049                    map_type: None,
9050
9051                    enumerated_type: None,
9052
9053                    bitmask_type: None,
9054
9055                    extended_type: None,
9056                }
9057            }
9058
9059            pub fn is_array_type(&self) -> bool {
9060                matches!(self._d, TK_ARRAY)
9061            }
9062
9063            pub fn new_map_type(value: Box<MinimalMapType>) -> Self {
9064                Self {
9065                    _d: TK_MAP,
9066                    map_type: Some(value),
9067
9068                    alias_type: None,
9069
9070                    annotation_type: None,
9071
9072                    struct_type: None,
9073
9074                    union_type: None,
9075
9076                    bitset_type: None,
9077
9078                    sequence_type: None,
9079
9080                    array_type: None,
9081
9082                    enumerated_type: None,
9083
9084                    bitmask_type: None,
9085
9086                    extended_type: None,
9087                }
9088            }
9089
9090            pub fn is_map_type(&self) -> bool {
9091                matches!(self._d, TK_MAP)
9092            }
9093
9094            pub fn new_enumerated_type(value: Box<MinimalEnumeratedType>) -> Self {
9095                Self {
9096                    _d: TK_ENUM,
9097                    enumerated_type: Some(value),
9098
9099                    alias_type: None,
9100
9101                    annotation_type: None,
9102
9103                    struct_type: None,
9104
9105                    union_type: None,
9106
9107                    bitset_type: None,
9108
9109                    sequence_type: None,
9110
9111                    array_type: None,
9112
9113                    map_type: None,
9114
9115                    bitmask_type: None,
9116
9117                    extended_type: None,
9118                }
9119            }
9120
9121            pub fn is_enumerated_type(&self) -> bool {
9122                matches!(self._d, TK_ENUM)
9123            }
9124
9125            pub fn new_bitmask_type(value: Box<MinimalBitmaskType>) -> Self {
9126                Self {
9127                    _d: TK_BITMASK,
9128                    bitmask_type: Some(value),
9129
9130                    alias_type: None,
9131
9132                    annotation_type: None,
9133
9134                    struct_type: None,
9135
9136                    union_type: None,
9137
9138                    bitset_type: None,
9139
9140                    sequence_type: None,
9141
9142                    array_type: None,
9143
9144                    map_type: None,
9145
9146                    enumerated_type: None,
9147
9148                    extended_type: None,
9149                }
9150            }
9151
9152            pub fn is_bitmask_type(&self) -> bool {
9153                matches!(self._d, TK_BITMASK)
9154            }
9155
9156            pub fn new_extended_type(value: Box<MinimalExtendedType>) -> Self {
9157                Self {
9158                    _d: u8::default(),
9159                    extended_type: Some(value),
9160
9161                    alias_type: None,
9162
9163                    annotation_type: None,
9164
9165                    struct_type: None,
9166
9167                    union_type: None,
9168
9169                    bitset_type: None,
9170
9171                    sequence_type: None,
9172
9173                    array_type: None,
9174
9175                    map_type: None,
9176
9177                    enumerated_type: None,
9178
9179                    bitmask_type: None,
9180                }
9181            }
9182
9183            pub fn is_extended_type(&self) -> bool {
9184                matches!(self._d, _)
9185            }
9186
9187            pub fn tag(&self) -> &u8 {
9188                &self._d
9189            }
9190        }
9191
9192        impl xidl_typeobject::XidlTypeObject for MinimalTypeObject {
9193            fn minimal_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
9194                xidl_typeobject::runtime::build_minimal_union(
9195                    0u32,
9196                    xidl_typeobject::runtime::type_identifier_primitive(
9197                        xidl_typeobject::DDS::XTypes::TK_BYTE,
9198                    ),
9199                    vec![
9200                        xidl_typeobject::runtime::UnionMemberDesc {
9201                            member_id: 10u32,
9202                            member_flags: 0u32,
9203                            type_id: xidl_typeobject::runtime::type_identifier_for::<
9204                                MinimalBitmaskType,
9205                            >(
9206                                xidl_typeobject::runtime::TypeEquivalence::Minimal
9207                            ),
9208                            name: "bitmask_type",
9209                            labels: vec![0i32],
9210                        },
9211                        xidl_typeobject::runtime::UnionMemberDesc {
9212                            member_id: 9u32,
9213                            member_flags: 0u32,
9214                            type_id: xidl_typeobject::runtime::type_identifier_for::<
9215                                MinimalEnumeratedType,
9216                            >(
9217                                xidl_typeobject::runtime::TypeEquivalence::Minimal
9218                            ),
9219                            name: "enumerated_type",
9220                            labels: vec![0i32],
9221                        },
9222                        xidl_typeobject::runtime::UnionMemberDesc {
9223                            member_id: 1u32,
9224                            member_flags: 0u32,
9225                            type_id: xidl_typeobject::runtime::type_identifier_for::<
9226                                MinimalAliasType,
9227                            >(
9228                                xidl_typeobject::runtime::TypeEquivalence::Minimal
9229                            ),
9230                            name: "alias_type",
9231                            labels: vec![0i32],
9232                        },
9233                        xidl_typeobject::runtime::UnionMemberDesc {
9234                            member_id: 4u32,
9235                            member_flags: 0u32,
9236                            type_id: xidl_typeobject::runtime::type_identifier_for::<
9237                                MinimalUnionType,
9238                            >(
9239                                xidl_typeobject::runtime::TypeEquivalence::Minimal
9240                            ),
9241                            name: "union_type",
9242                            labels: vec![0i32],
9243                        },
9244                        xidl_typeobject::runtime::UnionMemberDesc {
9245                            member_id: 2u32,
9246                            member_flags: 0u32,
9247                            type_id: xidl_typeobject::runtime::type_identifier_for::<
9248                                MinimalAnnotationType,
9249                            >(
9250                                xidl_typeobject::runtime::TypeEquivalence::Minimal
9251                            ),
9252                            name: "annotation_type",
9253                            labels: vec![0i32],
9254                        },
9255                        xidl_typeobject::runtime::UnionMemberDesc {
9256                            member_id: 11u32,
9257                            member_flags: 64u32,
9258                            type_id: xidl_typeobject::runtime::type_identifier_for::<
9259                                MinimalExtendedType,
9260                            >(
9261                                xidl_typeobject::runtime::TypeEquivalence::Minimal
9262                            ),
9263                            name: "extended_type",
9264                            labels: vec![],
9265                        },
9266                        xidl_typeobject::runtime::UnionMemberDesc {
9267                            member_id: 8u32,
9268                            member_flags: 0u32,
9269                            type_id: xidl_typeobject::runtime::type_identifier_for::<MinimalMapType>(
9270                                xidl_typeobject::runtime::TypeEquivalence::Minimal,
9271                            ),
9272                            name: "map_type",
9273                            labels: vec![0i32],
9274                        },
9275                        xidl_typeobject::runtime::UnionMemberDesc {
9276                            member_id: 7u32,
9277                            member_flags: 0u32,
9278                            type_id: xidl_typeobject::runtime::type_identifier_for::<
9279                                MinimalArrayType,
9280                            >(
9281                                xidl_typeobject::runtime::TypeEquivalence::Minimal
9282                            ),
9283                            name: "array_type",
9284                            labels: vec![0i32],
9285                        },
9286                        xidl_typeobject::runtime::UnionMemberDesc {
9287                            member_id: 6u32,
9288                            member_flags: 0u32,
9289                            type_id: xidl_typeobject::runtime::type_identifier_for::<
9290                                MinimalSequenceType,
9291                            >(
9292                                xidl_typeobject::runtime::TypeEquivalence::Minimal
9293                            ),
9294                            name: "sequence_type",
9295                            labels: vec![0i32],
9296                        },
9297                        xidl_typeobject::runtime::UnionMemberDesc {
9298                            member_id: 5u32,
9299                            member_flags: 0u32,
9300                            type_id: xidl_typeobject::runtime::type_identifier_for::<
9301                                MinimalBitsetType,
9302                            >(
9303                                xidl_typeobject::runtime::TypeEquivalence::Minimal
9304                            ),
9305                            name: "bitset_type",
9306                            labels: vec![0i32],
9307                        },
9308                        xidl_typeobject::runtime::UnionMemberDesc {
9309                            member_id: 3u32,
9310                            member_flags: 0u32,
9311                            type_id: xidl_typeobject::runtime::type_identifier_for::<
9312                                MinimalStructType,
9313                            >(
9314                                xidl_typeobject::runtime::TypeEquivalence::Minimal
9315                            ),
9316                            name: "struct_type",
9317                            labels: vec![0i32],
9318                        },
9319                    ],
9320                )
9321            }
9322
9323            fn complete_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
9324                xidl_typeobject::runtime::build_complete_union(
9325                    "DDS::XTypes::MinimalTypeObject",
9326                    0u32,
9327                    xidl_typeobject::runtime::type_identifier_primitive(
9328                        xidl_typeobject::DDS::XTypes::TK_BYTE,
9329                    ),
9330                    vec![
9331                        xidl_typeobject::runtime::UnionMemberDesc {
9332                            member_id: 10u32,
9333                            member_flags: 0u32,
9334                            type_id: xidl_typeobject::runtime::type_identifier_for::<
9335                                MinimalBitmaskType,
9336                            >(
9337                                xidl_typeobject::runtime::TypeEquivalence::Complete
9338                            ),
9339                            name: "bitmask_type",
9340                            labels: vec![0i32],
9341                        },
9342                        xidl_typeobject::runtime::UnionMemberDesc {
9343                            member_id: 9u32,
9344                            member_flags: 0u32,
9345                            type_id: xidl_typeobject::runtime::type_identifier_for::<
9346                                MinimalEnumeratedType,
9347                            >(
9348                                xidl_typeobject::runtime::TypeEquivalence::Complete
9349                            ),
9350                            name: "enumerated_type",
9351                            labels: vec![0i32],
9352                        },
9353                        xidl_typeobject::runtime::UnionMemberDesc {
9354                            member_id: 1u32,
9355                            member_flags: 0u32,
9356                            type_id: xidl_typeobject::runtime::type_identifier_for::<
9357                                MinimalAliasType,
9358                            >(
9359                                xidl_typeobject::runtime::TypeEquivalence::Complete
9360                            ),
9361                            name: "alias_type",
9362                            labels: vec![0i32],
9363                        },
9364                        xidl_typeobject::runtime::UnionMemberDesc {
9365                            member_id: 4u32,
9366                            member_flags: 0u32,
9367                            type_id: xidl_typeobject::runtime::type_identifier_for::<
9368                                MinimalUnionType,
9369                            >(
9370                                xidl_typeobject::runtime::TypeEquivalence::Complete
9371                            ),
9372                            name: "union_type",
9373                            labels: vec![0i32],
9374                        },
9375                        xidl_typeobject::runtime::UnionMemberDesc {
9376                            member_id: 2u32,
9377                            member_flags: 0u32,
9378                            type_id: xidl_typeobject::runtime::type_identifier_for::<
9379                                MinimalAnnotationType,
9380                            >(
9381                                xidl_typeobject::runtime::TypeEquivalence::Complete
9382                            ),
9383                            name: "annotation_type",
9384                            labels: vec![0i32],
9385                        },
9386                        xidl_typeobject::runtime::UnionMemberDesc {
9387                            member_id: 11u32,
9388                            member_flags: 64u32,
9389                            type_id: xidl_typeobject::runtime::type_identifier_for::<
9390                                MinimalExtendedType,
9391                            >(
9392                                xidl_typeobject::runtime::TypeEquivalence::Complete
9393                            ),
9394                            name: "extended_type",
9395                            labels: vec![],
9396                        },
9397                        xidl_typeobject::runtime::UnionMemberDesc {
9398                            member_id: 8u32,
9399                            member_flags: 0u32,
9400                            type_id: xidl_typeobject::runtime::type_identifier_for::<MinimalMapType>(
9401                                xidl_typeobject::runtime::TypeEquivalence::Complete,
9402                            ),
9403                            name: "map_type",
9404                            labels: vec![0i32],
9405                        },
9406                        xidl_typeobject::runtime::UnionMemberDesc {
9407                            member_id: 7u32,
9408                            member_flags: 0u32,
9409                            type_id: xidl_typeobject::runtime::type_identifier_for::<
9410                                MinimalArrayType,
9411                            >(
9412                                xidl_typeobject::runtime::TypeEquivalence::Complete
9413                            ),
9414                            name: "array_type",
9415                            labels: vec![0i32],
9416                        },
9417                        xidl_typeobject::runtime::UnionMemberDesc {
9418                            member_id: 6u32,
9419                            member_flags: 0u32,
9420                            type_id: xidl_typeobject::runtime::type_identifier_for::<
9421                                MinimalSequenceType,
9422                            >(
9423                                xidl_typeobject::runtime::TypeEquivalence::Complete
9424                            ),
9425                            name: "sequence_type",
9426                            labels: vec![0i32],
9427                        },
9428                        xidl_typeobject::runtime::UnionMemberDesc {
9429                            member_id: 5u32,
9430                            member_flags: 0u32,
9431                            type_id: xidl_typeobject::runtime::type_identifier_for::<
9432                                MinimalBitsetType,
9433                            >(
9434                                xidl_typeobject::runtime::TypeEquivalence::Complete
9435                            ),
9436                            name: "bitset_type",
9437                            labels: vec![0i32],
9438                        },
9439                        xidl_typeobject::runtime::UnionMemberDesc {
9440                            member_id: 3u32,
9441                            member_flags: 0u32,
9442                            type_id: xidl_typeobject::runtime::type_identifier_for::<
9443                                MinimalStructType,
9444                            >(
9445                                xidl_typeobject::runtime::TypeEquivalence::Complete
9446                            ),
9447                            name: "struct_type",
9448                            labels: vec![0i32],
9449                        },
9450                    ],
9451                )
9452            }
9453        }
9454        pub struct TypeObject {
9455            pub _d: u8,
9456
9457            pub complete: Option<Box<CompleteTypeObject>>,
9458
9459            pub minimal: Option<Box<MinimalTypeObject>>,
9460        }
9461
9462        impl TypeObject {
9463            pub fn new_complete(value: Box<CompleteTypeObject>) -> Self {
9464                Self {
9465                    _d: EK_COMPLETE,
9466                    complete: Some(value),
9467
9468                    minimal: None,
9469                }
9470            }
9471
9472            pub fn is_complete(&self) -> bool {
9473                matches!(self._d, EK_COMPLETE)
9474            }
9475
9476            pub fn new_minimal(value: Box<MinimalTypeObject>) -> Self {
9477                Self {
9478                    _d: EK_MINIMAL,
9479                    minimal: Some(value),
9480
9481                    complete: None,
9482                }
9483            }
9484
9485            pub fn is_minimal(&self) -> bool {
9486                matches!(self._d, EK_MINIMAL)
9487            }
9488
9489            pub fn tag(&self) -> &u8 {
9490                &self._d
9491            }
9492        }
9493
9494        impl xidl_typeobject::XidlTypeObject for TypeObject {
9495            fn minimal_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
9496                xidl_typeobject::runtime::build_minimal_union(
9497                    0u32,
9498                    xidl_typeobject::runtime::type_identifier_primitive(
9499                        xidl_typeobject::DDS::XTypes::TK_BYTE,
9500                    ),
9501                    vec![
9502                        xidl_typeobject::runtime::UnionMemberDesc {
9503                            member_id: 1u32,
9504                            member_flags: 0u32,
9505                            type_id: xidl_typeobject::runtime::type_identifier_for::<
9506                                CompleteTypeObject,
9507                            >(
9508                                xidl_typeobject::runtime::TypeEquivalence::Minimal
9509                            ),
9510                            name: "complete",
9511                            labels: vec![0i32],
9512                        },
9513                        xidl_typeobject::runtime::UnionMemberDesc {
9514                            member_id: 2u32,
9515                            member_flags: 0u32,
9516                            type_id: xidl_typeobject::runtime::type_identifier_for::<
9517                                MinimalTypeObject,
9518                            >(
9519                                xidl_typeobject::runtime::TypeEquivalence::Minimal
9520                            ),
9521                            name: "minimal",
9522                            labels: vec![0i32],
9523                        },
9524                    ],
9525                )
9526            }
9527
9528            fn complete_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
9529                xidl_typeobject::runtime::build_complete_union(
9530                    "DDS::XTypes::TypeObject",
9531                    0u32,
9532                    xidl_typeobject::runtime::type_identifier_primitive(
9533                        xidl_typeobject::DDS::XTypes::TK_BYTE,
9534                    ),
9535                    vec![
9536                        xidl_typeobject::runtime::UnionMemberDesc {
9537                            member_id: 1u32,
9538                            member_flags: 0u32,
9539                            type_id: xidl_typeobject::runtime::type_identifier_for::<
9540                                CompleteTypeObject,
9541                            >(
9542                                xidl_typeobject::runtime::TypeEquivalence::Complete
9543                            ),
9544                            name: "complete",
9545                            labels: vec![0i32],
9546                        },
9547                        xidl_typeobject::runtime::UnionMemberDesc {
9548                            member_id: 2u32,
9549                            member_flags: 0u32,
9550                            type_id: xidl_typeobject::runtime::type_identifier_for::<
9551                                MinimalTypeObject,
9552                            >(
9553                                xidl_typeobject::runtime::TypeEquivalence::Complete
9554                            ),
9555                            name: "minimal",
9556                            labels: vec![0i32],
9557                        },
9558                    ],
9559                )
9560            }
9561        }
9562        pub type TypeObjectSeq = Vec<TypeObject>;
9563        pub type StronglyConnectedComponent = TypeObjectSeq;
9564        pub struct TypeIdentifierTypeObjectPair {
9565            pub type_identifier: Box<TypeIdentifier>,
9566
9567            pub type_object: Box<TypeObject>,
9568        }
9569
9570        impl TypeIdentifierTypeObjectPair {}
9571
9572        impl xidl_typeobject::XidlTypeObject for TypeIdentifierTypeObjectPair {
9573            fn minimal_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
9574                xidl_typeobject::runtime::build_minimal_struct(
9575                    0u32,
9576                    xidl_typeobject::runtime::type_identifier_none(),
9577                    vec![
9578                        xidl_typeobject::runtime::StructMemberDesc {
9579                            member_id: 1u32,
9580                            member_flags: 0u32,
9581                            type_id: xidl_typeobject::runtime::type_identifier_for::<TypeIdentifier>(
9582                                xidl_typeobject::runtime::TypeEquivalence::Minimal,
9583                            ),
9584                            name: "type_identifier",
9585                        },
9586                        xidl_typeobject::runtime::StructMemberDesc {
9587                            member_id: 2u32,
9588                            member_flags: 0u32,
9589                            type_id: xidl_typeobject::runtime::type_identifier_for::<TypeObject>(
9590                                xidl_typeobject::runtime::TypeEquivalence::Minimal,
9591                            ),
9592                            name: "type_object",
9593                        },
9594                    ],
9595                )
9596            }
9597
9598            fn complete_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
9599                xidl_typeobject::runtime::build_complete_struct(
9600                    "DDS::XTypes::TypeIdentifierTypeObjectPair",
9601                    0u32,
9602                    xidl_typeobject::runtime::type_identifier_none(),
9603                    vec![
9604                        xidl_typeobject::runtime::StructMemberDesc {
9605                            member_id: 1u32,
9606                            member_flags: 0u32,
9607                            type_id: xidl_typeobject::runtime::type_identifier_for::<TypeIdentifier>(
9608                                xidl_typeobject::runtime::TypeEquivalence::Complete,
9609                            ),
9610                            name: "type_identifier",
9611                        },
9612                        xidl_typeobject::runtime::StructMemberDesc {
9613                            member_id: 2u32,
9614                            member_flags: 0u32,
9615                            type_id: xidl_typeobject::runtime::type_identifier_for::<TypeObject>(
9616                                xidl_typeobject::runtime::TypeEquivalence::Complete,
9617                            ),
9618                            name: "type_object",
9619                        },
9620                    ],
9621                )
9622            }
9623        }
9624        pub type TypeIdentifierTypeObjectPairSeq = Vec<TypeIdentifierTypeObjectPair>;
9625        pub struct TypeIdentifierPair {
9626            pub type_identifier1: Box<TypeIdentifier>,
9627
9628            pub type_identifier2: Box<TypeIdentifier>,
9629        }
9630
9631        impl TypeIdentifierPair {}
9632
9633        impl xidl_typeobject::XidlTypeObject for TypeIdentifierPair {
9634            fn minimal_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
9635                xidl_typeobject::runtime::build_minimal_struct(
9636                    0u32,
9637                    xidl_typeobject::runtime::type_identifier_none(),
9638                    vec![
9639                        xidl_typeobject::runtime::StructMemberDesc {
9640                            member_id: 1u32,
9641                            member_flags: 0u32,
9642                            type_id: xidl_typeobject::runtime::type_identifier_for::<TypeIdentifier>(
9643                                xidl_typeobject::runtime::TypeEquivalence::Minimal,
9644                            ),
9645                            name: "type_identifier1",
9646                        },
9647                        xidl_typeobject::runtime::StructMemberDesc {
9648                            member_id: 2u32,
9649                            member_flags: 0u32,
9650                            type_id: xidl_typeobject::runtime::type_identifier_for::<TypeIdentifier>(
9651                                xidl_typeobject::runtime::TypeEquivalence::Minimal,
9652                            ),
9653                            name: "type_identifier2",
9654                        },
9655                    ],
9656                )
9657            }
9658
9659            fn complete_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
9660                xidl_typeobject::runtime::build_complete_struct(
9661                    "DDS::XTypes::TypeIdentifierPair",
9662                    0u32,
9663                    xidl_typeobject::runtime::type_identifier_none(),
9664                    vec![
9665                        xidl_typeobject::runtime::StructMemberDesc {
9666                            member_id: 1u32,
9667                            member_flags: 0u32,
9668                            type_id: xidl_typeobject::runtime::type_identifier_for::<TypeIdentifier>(
9669                                xidl_typeobject::runtime::TypeEquivalence::Complete,
9670                            ),
9671                            name: "type_identifier1",
9672                        },
9673                        xidl_typeobject::runtime::StructMemberDesc {
9674                            member_id: 2u32,
9675                            member_flags: 0u32,
9676                            type_id: xidl_typeobject::runtime::type_identifier_for::<TypeIdentifier>(
9677                                xidl_typeobject::runtime::TypeEquivalence::Complete,
9678                            ),
9679                            name: "type_identifier2",
9680                        },
9681                    ],
9682                )
9683            }
9684        }
9685        pub type TypeIdentifierPairSeq = Vec<TypeIdentifierPair>;
9686        pub struct TypeIdentifierWithSize {
9687            pub type_id: Box<TypeIdentifier>,
9688
9689            pub typeobject_serialized_size: u32,
9690        }
9691
9692        impl TypeIdentifierWithSize {}
9693
9694        impl xidl_typeobject::XidlTypeObject for TypeIdentifierWithSize {
9695            fn minimal_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
9696                xidl_typeobject::runtime::build_minimal_struct(
9697                    0u32,
9698                    xidl_typeobject::runtime::type_identifier_none(),
9699                    vec![
9700                        xidl_typeobject::runtime::StructMemberDesc {
9701                            member_id: 1u32,
9702                            member_flags: 0u32,
9703                            type_id: xidl_typeobject::runtime::type_identifier_for::<TypeIdentifier>(
9704                                xidl_typeobject::runtime::TypeEquivalence::Minimal,
9705                            ),
9706                            name: "type_id",
9707                        },
9708                        xidl_typeobject::runtime::StructMemberDesc {
9709                            member_id: 2u32,
9710                            member_flags: 0u32,
9711                            type_id: xidl_typeobject::runtime::type_identifier_primitive(
9712                                xidl_typeobject::DDS::XTypes::TK_UINT32,
9713                            ),
9714                            name: "typeobject_serialized_size",
9715                        },
9716                    ],
9717                )
9718            }
9719
9720            fn complete_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
9721                xidl_typeobject::runtime::build_complete_struct(
9722                    "DDS::XTypes::TypeIdentifierWithSize",
9723                    0u32,
9724                    xidl_typeobject::runtime::type_identifier_none(),
9725                    vec![
9726                        xidl_typeobject::runtime::StructMemberDesc {
9727                            member_id: 1u32,
9728                            member_flags: 0u32,
9729                            type_id: xidl_typeobject::runtime::type_identifier_for::<TypeIdentifier>(
9730                                xidl_typeobject::runtime::TypeEquivalence::Complete,
9731                            ),
9732                            name: "type_id",
9733                        },
9734                        xidl_typeobject::runtime::StructMemberDesc {
9735                            member_id: 2u32,
9736                            member_flags: 0u32,
9737                            type_id: xidl_typeobject::runtime::type_identifier_primitive(
9738                                xidl_typeobject::DDS::XTypes::TK_UINT32,
9739                            ),
9740                            name: "typeobject_serialized_size",
9741                        },
9742                    ],
9743                )
9744            }
9745        }
9746        pub type TypeIdentifierWithSizeSeq = Vec<TypeIdentifierWithSize>;
9747        pub struct TypeIdentifierWithDependencies {
9748            pub typeid_with_size: Box<TypeIdentifierWithSize>,
9749
9750            pub dependent_typeid_count: i32,
9751
9752            pub dependent_typeids: Vec<TypeIdentifierWithSize>,
9753        }
9754
9755        impl TypeIdentifierWithDependencies {}
9756
9757        impl xidl_typeobject::XidlTypeObject for TypeIdentifierWithDependencies {
9758            fn minimal_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
9759                xidl_typeobject::runtime::build_minimal_struct(
9760                    0u32,
9761                    xidl_typeobject::runtime::type_identifier_none(),
9762                    vec![
9763                        xidl_typeobject::runtime::StructMemberDesc {
9764                            member_id: 1u32,
9765                            member_flags: 0u32,
9766                            type_id: xidl_typeobject::runtime::type_identifier_for::<
9767                                TypeIdentifierWithSize,
9768                            >(
9769                                xidl_typeobject::runtime::TypeEquivalence::Minimal
9770                            ),
9771                            name: "typeid_with_size",
9772                        },
9773                        xidl_typeobject::runtime::StructMemberDesc {
9774                            member_id: 2u32,
9775                            member_flags: 0u32,
9776                            type_id: xidl_typeobject::runtime::type_identifier_primitive(
9777                                xidl_typeobject::DDS::XTypes::TK_INT32,
9778                            ),
9779                            name: "dependent_typeid_count",
9780                        },
9781                        xidl_typeobject::runtime::StructMemberDesc {
9782                            member_id: 3u32,
9783                            member_flags: 0u32,
9784                            type_id: xidl_typeobject::runtime::type_identifier_sequence(
9785                                xidl_typeobject::runtime::type_identifier_for::<
9786                                    TypeIdentifierWithSize,
9787                                >(
9788                                    xidl_typeobject::runtime::TypeEquivalence::Minimal
9789                                ),
9790                                0u32,
9791                                xidl_typeobject::runtime::TypeEquivalence::Minimal,
9792                            ),
9793                            name: "dependent_typeids",
9794                        },
9795                    ],
9796                )
9797            }
9798
9799            fn complete_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
9800                xidl_typeobject::runtime::build_complete_struct(
9801                    "DDS::XTypes::TypeIdentifierWithDependencies",
9802                    0u32,
9803                    xidl_typeobject::runtime::type_identifier_none(),
9804                    vec![
9805                        xidl_typeobject::runtime::StructMemberDesc {
9806                            member_id: 1u32,
9807                            member_flags: 0u32,
9808                            type_id: xidl_typeobject::runtime::type_identifier_for::<
9809                                TypeIdentifierWithSize,
9810                            >(
9811                                xidl_typeobject::runtime::TypeEquivalence::Complete
9812                            ),
9813                            name: "typeid_with_size",
9814                        },
9815                        xidl_typeobject::runtime::StructMemberDesc {
9816                            member_id: 2u32,
9817                            member_flags: 0u32,
9818                            type_id: xidl_typeobject::runtime::type_identifier_primitive(
9819                                xidl_typeobject::DDS::XTypes::TK_INT32,
9820                            ),
9821                            name: "dependent_typeid_count",
9822                        },
9823                        xidl_typeobject::runtime::StructMemberDesc {
9824                            member_id: 3u32,
9825                            member_flags: 0u32,
9826                            type_id: xidl_typeobject::runtime::type_identifier_sequence(
9827                                xidl_typeobject::runtime::type_identifier_for::<
9828                                    TypeIdentifierWithSize,
9829                                >(
9830                                    xidl_typeobject::runtime::TypeEquivalence::Complete
9831                                ),
9832                                0u32,
9833                                xidl_typeobject::runtime::TypeEquivalence::Complete,
9834                            ),
9835                            name: "dependent_typeids",
9836                        },
9837                    ],
9838                )
9839            }
9840        }
9841        pub type TypeIdentifierWithDependenciesSeq = Vec<TypeIdentifierWithDependencies>;
9842        pub struct TypeInformation {
9843            pub minimal: Box<TypeIdentifierWithDependencies>,
9844
9845            pub complete: Box<TypeIdentifierWithDependencies>,
9846        }
9847
9848        impl TypeInformation {}
9849
9850        impl xidl_typeobject::XidlTypeObject for TypeInformation {
9851            fn minimal_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
9852                xidl_typeobject::runtime::build_minimal_struct(
9853                    0u32,
9854                    xidl_typeobject::runtime::type_identifier_none(),
9855                    vec![
9856                        xidl_typeobject::runtime::StructMemberDesc {
9857                            member_id: 1u32,
9858                            member_flags: 0u32,
9859                            type_id: xidl_typeobject::runtime::type_identifier_for::<
9860                                TypeIdentifierWithDependencies,
9861                            >(
9862                                xidl_typeobject::runtime::TypeEquivalence::Minimal
9863                            ),
9864                            name: "minimal",
9865                        },
9866                        xidl_typeobject::runtime::StructMemberDesc {
9867                            member_id: 2u32,
9868                            member_flags: 0u32,
9869                            type_id: xidl_typeobject::runtime::type_identifier_for::<
9870                                TypeIdentifierWithDependencies,
9871                            >(
9872                                xidl_typeobject::runtime::TypeEquivalence::Minimal
9873                            ),
9874                            name: "complete",
9875                        },
9876                    ],
9877                )
9878            }
9879
9880            fn complete_type_object() -> xidl_typeobject::DDS::XTypes::TypeObject {
9881                xidl_typeobject::runtime::build_complete_struct(
9882                    "DDS::XTypes::TypeInformation",
9883                    0u32,
9884                    xidl_typeobject::runtime::type_identifier_none(),
9885                    vec![
9886                        xidl_typeobject::runtime::StructMemberDesc {
9887                            member_id: 1u32,
9888                            member_flags: 0u32,
9889                            type_id: xidl_typeobject::runtime::type_identifier_for::<
9890                                TypeIdentifierWithDependencies,
9891                            >(
9892                                xidl_typeobject::runtime::TypeEquivalence::Complete
9893                            ),
9894                            name: "minimal",
9895                        },
9896                        xidl_typeobject::runtime::StructMemberDesc {
9897                            member_id: 2u32,
9898                            member_flags: 0u32,
9899                            type_id: xidl_typeobject::runtime::type_identifier_for::<
9900                                TypeIdentifierWithDependencies,
9901                            >(
9902                                xidl_typeobject::runtime::TypeEquivalence::Complete
9903                            ),
9904                            name: "complete",
9905                        },
9906                    ],
9907                )
9908            }
9909        }
9910        pub type TypeInformationSeq = Vec<TypeInformation>;
9911    }
9912}