10.4.11 UnionDef

A UnionDef (shown below) represents an OMG IDL union definition. It contains the members of the union.

module CORBA {
       struct UnionMember {
              Identifier    name;
              any           label;
              TypeCode      type;
              IDLType       type_def;
      };
      typedef sequence <UnionMember> UnionMemberSeq;

      interface UnionDef : TypedefDef, Container {
          readonly   attribute TypeCode   discriminator_type;
          readonly   attribute IDLType    discriminator_type_def;
          readonly   attribute UnionMemberSeq   members;
      };
};
discriminator_type and discriminator_type_def
Describes and identifies the union’s discriminator type.
members
Contains a description of each union member. The label of each UnionMemberDescription is a distinct value of the discriminator_type. Adjacent members can have the same name. Members with the same name must also have the same type. A label with type octet and value 0 (zero) indicates the default union member.

The inherited type attribute is a tk_union TypeCode describing the union.