blank.gif (43 bytes)

Church Of The
Swimming Elephant

3.15 Discriminated Union Connected: An Internet Encyclopedia
3.15 Discriminated Union

Up: Connected: An Internet Encyclopedia
Up: Requests For Comments
Up: RFC 1832
Prev: 3.14 Structure
Next: 3.16 Void

3.15 Discriminated Union

3.15 Discriminated Union

A discriminated union is a type composed of a discriminant followed by a type selected from a set of prearranged types according to the value of the discriminant. The type of discriminant is either "int", "unsigned int", or an enumerated type, such as "bool". The component types are called "arms" of the union, and are preceded by the value of the discriminant which implies their encoding. Discriminated unions are declared as follows:

         union switch (discriminant-declaration) {
         case discriminant-value-A:
         case discriminant-value-B:
         default: default-declaration;
         } identifier;

Each "case" keyword is followed by a legal value of the discriminant. The default arm is optional. If it is not specified, then a valid encoding of the union cannot take on unspecified discriminant values. The size of the implied arm is always a multiple of four bytes.

The discriminated union is encoded as its discriminant followed by the encoding of the implied arm.

           0   1   2   3
         |  discriminant |  implied arm  |          DISCRIMINATED UNION
         |<---4 bytes--->|

Next: 3.16 Void

Connected: An Internet Encyclopedia
3.15 Discriminated Union


Protect yourself from cyberstalkers, identity thieves, and those who would snoop on you.
Stop spam from invading your inbox without losing the mail you want. We give you more control over your e-mail than any other service.
Block popups, ads, and malicious scripts while you surf the net through our anonymous proxies.
Participate in Usenet, host your web files, easily send anonymous messages, and more, much more.
All private, all encrypted, all secure, all in an easy to use service, and all for only $5.95 a month!

Service Details

Have you gone to church today?
All pages ©1999, 2000, 2001, 2002, 2003 Church of the Swimming Elephant unless otherwise stated
Church of the Swimming Elephant©1999, 2000, 2001, 2002, 2003 is a wholly owned subsidiary of Packetderm, LLC.

Packetderm, LLC
210 Park Ave #308
Worcester, MA 01609