From: "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de>
Subject: Re: I need a little help - it's been a long time - with enumeration type and for use representation
Date: Fri, 13 Nov 2009 21:53:15 +0100
Date: 2009-11-13T21:53:16+01:00 [thread overview]
Message-ID: <1hgihvw2ld2nr.cg5ve3xaww03.dlg@40tude.net> (raw)
In-Reply-To: hdkfm2$u10$1@news.tornevall.net
On Fri, 13 Nov 2009 13:32:52 -0700, Jeffrey R. Carter wrote:
> Dmitry A. Kazakov wrote:
>> On Fri, 13 Nov 2009 11:48:12 -0700, Jeffrey R. Carter wrote:
>>
>>> Dmitry A. Kazakov wrote:
>>>> You parse "0x", then you do a hexadecimal number following it, then you
>>>> pass that number (x) to:
>>>>
>>>> Spell_School_Type'Val (x)
>>> This doesn't work with a non-default representation. 'Val reverses 'Pos, and
>>> 'Pos gives sequential values starting with zero, regardless of the representation.
>>
>> But it works with the modular type proposed. An enumeration type was not
>> meant. For enumeration types one should parse names, rather than arbitrary
>> bit patterns.
>
> I see. I cannot imagine using 'Val in this case. Since you start with a String
> containing the hexadecimal image of a value, I'd simply do
>
> Numeric_Type_Name'Value ("16#" & Source (Start .. Stop) & '#');
I do it differently. I have the pattern:
procedure Get (Text : String; Pointer : in out Integer; Value : out Type)
which I consistently deploy everywhere. Get takes a textual representation
of Type from Text at Pointer and advances Pointer to the first position
following it. The result is returned though Value.
However, yes, usually I use a plain type conversion:
Get (Text, Pointer, Integer (Value));
rather than Type'Val (when I am too lazy to instantiate the generic
packages once again with Type)
--
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de
next prev parent reply other threads:[~2009-11-13 20:53 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-11-13 16:03 I need a little help - it's been a long time - with enumeration type and for use representation Harry Tucker
2009-11-13 17:24 ` Niklas Holsti
2009-11-13 17:24 ` Dmitry A. Kazakov
2009-11-13 18:48 ` Jeffrey R. Carter
2009-11-13 19:13 ` Dmitry A. Kazakov
2009-11-13 20:32 ` Jeffrey R. Carter
2009-11-13 20:53 ` Dmitry A. Kazakov [this message]
2009-11-13 21:30 ` Jeffrey R. Carter
2009-11-14 9:24 ` Dmitry A. Kazakov
2009-11-13 18:46 ` Jeffrey R. 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