From: "Marc A. Criley" <mcqnet@earthlink.net>
Subject: Re: Representation clause
Date: Fri, 23 Feb 2001 13:25:19 GMT
Date: 2001-02-23T13:25:19+00:00 [thread overview]
Message-ID: <3A9656F2.78E31E61@earthlink.net> (raw)
In-Reply-To: 3a95c52f@post.usenet.com
Anatoly Chernyshev wrote:
>
> Now I wander about representation clause for enumerated types.
> For example,
> type ATOM is (H, C, N, O);
> for ATOM use (H=>1, C=>6, N=>7, O=>8);
>
> How can I access these 'internal' numbers?
> ATOM'POS yields 0, 1, 2, 3 respectively and I know no other relevant
> attributes.
>
If you're using GNAT and don't mind using a compiler-specific attribute,
GNAT supplies one called Enum_Rep that will extract values specified by
a representation clause.
with Text_IO; use Text_IO;
procedure Cer is
type ATOM is (H, C, N, O);
for ATOM use (H=>1, C=>6, N=>7, O=>8);
begin
Put_Line(Integer'Image(Atom'Enum_Rep(N)));
end Cer;
Ouputs: 7
Marc A. Criley
Senior Staff Engineer
Quadrus Corporation
www.quadruscorp.com
next prev parent reply other threads:[~2001-02-23 13:25 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2001-02-23 2:39 Representation clause Anatoly Chernyshev
2001-02-23 3:59 ` James Rogers
2001-02-23 8:46 ` Ada 0x: " Martin Dowie
2001-02-23 9:01 ` Lutz Donnerhacke
2001-02-23 10:22 ` David C. Hoos, Sr.
2001-02-23 13:56 ` Florian Weimer
2001-02-23 14:57 ` David C. Hoos, Sr.
2001-02-23 21:38 ` Florian Weimer
2001-02-23 21:12 ` Randy Brukardt
2001-02-24 5:44 ` James Rogers
2001-02-24 10:43 ` Florian Weimer
2001-02-24 17:47 ` James Rogers
2001-02-26 19:51 ` Randy Brukardt
2001-02-26 20:20 ` James Rogers
[not found] ` <WURm6.3437$7e6.1392211@homer.alpha.net>
2001-02-28 2:32 ` James Rogers
2001-02-23 13:25 ` Marc A. Criley [this message]
2001-02-23 14:08 ` Des Walker
2001-02-24 13:26 ` David C. Hoos, Sr.
2001-02-24 14:45 ` Ken Garlington
2001-02-25 20:22 ` David C. Hoos, Sr.
2001-02-26 0:53 ` Ken Garlington
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox