comp.lang.ada
 help / color / mirror / Atom feed
From: "Brian Catlin" <briancatlin@mindspring.com>
Subject: C-style 'union' in Ada?
Date: Sun, 12 Aug 2001 23:06:13 -0700
Date: 2001-08-13T06:06:15+00:00	[thread overview]
Message-ID: <9l7qon$d78$1@nntp9.atl.mindspring.net> (raw)

I'm still trying to get both lobes around the Ada paradigm.  I have a record that I want to hold a pointer to a buffer which is
either a String or Wide_String, but I don't want to statically declare which, so using a variant record won't work (at least given
my understanding).  Likewise, I don't want to have two record definitions, one for String, and one for Wide_String.  In the package
I'm designing, I don't care whether it is a String or Wide_String, I will just pass it to the file I/O packages (stream, in this
case).  In C, I would:

struct
    {
    ULONG    length;

    union
        {
        STRING_DESC                *ansi_string;
        WIDE_STRING_DESC    *wide_string;
        } strings;
    } string_desc;

and then:

struct
    {
    ...
    string_desc    file_name;
    ...
    } some_struct;

What is the idiom or method to use in Ada?

 -Brian






             reply	other threads:[~2001-08-13  6:06 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-08-13  6:06 Brian Catlin [this message]
2001-08-13  7:34 ` C-style 'union' in Ada? tmoran
2001-08-14  3:09 ` DuckE
2001-08-14  3:49   ` Brian Catlin
2001-08-14  7:37     ` Martin Dowie
2001-08-14  9:39       ` Ole-Hjalmar Kristensen
2001-08-14 11:49         ` Martin Dowie
2001-08-14 13:38 ` Ted Dennison
2001-08-16 22:35   ` David Brown
2001-08-17  3:14     ` Brian Catlin
2001-08-17 14:44       ` Ted Dennison
2001-08-17 16:38         ` Jeffrey Carter
2001-08-17 18:17           ` Ted Dennison
2001-08-17 18:45         ` Samuel T. Harris
2001-08-17  3:18     ` Variable sizes for record fields (was: C-style 'union' in Ada) Larry Kilgallen
2001-08-17  6:34       ` Variable sizes for record fields David Brown
2001-08-17 10:44         ` Larry Kilgallen
2001-08-17 19:18           ` Warren W. Gay VE3WWG
2001-08-17 21:36             ` Ken Burtch
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox