comp.lang.ada
 help / color / mirror / Atom feed
From: Dale Stanbrough <MrNoSpam@bigpoop.net.au>
Subject: Re: Accessing the underlying rep for enumerated types?
Date: Wed, 13 Oct 2004 06:51:06 GMT
Date: 2004-10-13T06:51:06+00:00	[thread overview]
Message-ID: <MrNoSpam-CCC41B.16510613102004@news-server.bigpond.net.au> (raw)
In-Reply-To: mv%ad.1639$6k2.1151@newsread3.news.pas.earthlink.net

Jeffrey Carter wrote:

> Dale Stanbrough wrote:
> 
> > An enumeration type can have a representation clause applied to it
> > allowing you to specify a underlying integer representation for
> > each value.
> > 
> > 'Pos tells you the position within the enumeration, not it's
> > underlying value. Is there any way to get access to this value
> > other than using Unchecked_Conversion?
> 
> Sure:
> 
> type Enum is (One, Two, Three);
> for Enum use (One => 1, Two => 2, Three => 4);
> 
> type Rep_List is array (Enum) of Positive;
> 
> Get_Rep : constant Rep_List := (One => 1, Two => 2, Three => 4);
> 
> E   : Enum     := Enum'First;
> Rep : Positive := Get_Rep (E);
> 
> If you mean a way built into the language, that's called 
> Unchecked_Conversion.

<sigh>....

Obviously I have to phrase this much more pedantically.

Is there any feature in the language that allows me to get access
to the underlying enumeration values other than using Unchecked
Conversion?

Dale

-- 
dstanbro@spam.o.matic.bigpond.net.au



  reply	other threads:[~2004-10-13  6:51 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-10-12 22:32 Accessing the underlying rep for enumerated types? Dale Stanbrough
2004-10-13  0:20 ` Stephen Leake
     [not found]   ` <MrNoSpam-2408AC.16521913102004@news-server.bigpond.net.au>
2004-10-13  7:23     ` Marius Amado Alves
2004-10-13 12:29     ` Stephen Leake
2004-10-13  1:26 ` Jeffrey Carter
2004-10-13  6:51   ` Dale Stanbrough [this message]
2004-10-13 21:49     ` Nick Roberts
2004-10-14  1:25     ` Jeffrey Carter
replies disabled

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