comp.lang.ada
 help / color / mirror / Atom feed
From: dst17!mab@ford-wdl1.arpa  (Mark A Biggar)
Subject: Re: Retrieving Rep Spec'ed Enumeration Values
Date: 28 Jun 93 20:58:06 GMT	[thread overview]
Message-ID: <1993Jun28.205806.11601@wdl.loral.com> (raw)

In article <SANDY.93Jun28134749@beeker.cs.umass.edu> wise@cs.umass.edu writes:
>Suppose you had a type like so:
>  type Color is ( Red, Green, Blue );
>  for Color use ( Red   => 4, Green => 8, Blue  => 16 );
>I cannot seem to find a portable way to retrieve the values assigned
>in the rep-spec.  Color'Pos is explicitly defined to be unaffected by
>the rep spec (LRM 13.3 paragraph 6).

The only protable way is to use Unchecked_conversion.

But, why does your program even need to get at the rep values?  If your program
needs to work with anything other then the enumeration identifiers, then it
very likely has a very badly broken abstraction.  I have never seen an Ada
program that required emuneration rep specs, that really required the
internal representation to become visible in the program.

But, if you really really need it just declare an anonymous array to be
used for conversions:

internal_colors: array (Color) of integer := (4,8,16);

--
Mark Biggar
mab@wdl.loral.com

             reply	other threads:[~1993-06-28 20:58 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1993-06-28 20:58 Mark A Biggar [this message]
  -- strict thread matches above, loose matches on Subject: below --
1993-06-29 21:05 Retrieving Rep Spec'ed Enumeration Values David Emery
1993-06-29 20:25 Gene Ouye
1993-06-29 17:44 Dave Bashford
1993-06-29 16:39 agate!howland.reston.ans.net!noc.near.net!nic.umass.edu!ymir.cs.umass.edu
1993-06-28 20:47 cis.ohio-state.edu!magnus.acs.ohio-state.edu!math.ohio-state.edu!howland.
replies disabled

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