From: "Jeffrey R. Carter" <spam.jrcarter.not@spam.acm.org>
Subject: Re: Determining value of record discriminant
Date: Mon, 19 Jul 2010 17:26:47 -0700
Date: 2010-07-19T17:26:47-07:00 [thread overview]
Message-ID: <i22quk$qs9$1@tornado.tornevall.net> (raw)
In-Reply-To: <3cc302a1-2764-438c-ba28-361c513fa8df@x20g2000pro.googlegroups.com>
On 07/19/2010 03:36 PM, deadlyhead wrote:
>
> -- code begins
> type Discrim_Val is (Int, Str);
>
> type Discrim_Rec (D : Discrim_Val) is record
> case D is
> when Int =>
> Val_Int : Integer := 1_000_000;
> when Str =>
> Val_Str : String (1 .. 11) := "One million";
> end case;
> end record;
> -- code ends
>
> Is there any way to determine what the discriminant value was on a
> type later on, i.e. with a dynamically allocated Discrim_Rec object
> created with user input for D? A haven't found anything looking
> through the RM about attributes or anything providing this
> functionality.
V : Discrim_Rec := Some_Func;
case V.D is
when Int =>
...
when Str =>
...
end case;
The discriminant is a field just like any other.
--
Jeff Carter
"How'd you like to hide the egg and gurgitate
a few saucers of mocha java?"
Never Give a Sucker an Even Break
101
next prev parent reply other threads:[~2010-07-20 0:26 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-07-19 22:36 Determining value of record discriminant deadlyhead
2010-07-20 0:26 ` Jeffrey R. Carter [this message]
2010-07-20 0:33 ` deadlyhead
2010-07-20 8:53 ` Maciej Sobczak
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox