comp.lang.ada
 help / color / mirror / Atom feed
From: Jeffrey Carter <spam@spam.com>
Subject: Re: Ada.Containers.Vectors - querying multiple elements
Date: Thu, 28 Apr 2005 03:09:48 GMT
Date: 2005-04-28T03:09:48+00:00	[thread overview]
Message-ID: <0uYbe.542$BE3.229@newsread2.news.pas.earthlink.net> (raw)
In-Reply-To: <jNOdnZ_Vi8Bcs-3fRVn-jA@megapath.net>

Randy Brukardt wrote:

> "Jeffrey Carter" <spam@spam.com> wrote in message
> news:R_Ebe.13911$lP1.2554@newsread1.news.pas.earthlink.net...
> ...
> 
>>Unlike the Vector container that will be part of Ada 0X, this has no
>>restrictions on the Index subtype. Any discrete type is acceptable.
> 
> Of course, you did that by having a goofy definition for Last:
> 
>     if Length(S0) = 0, Last(S0) = Index'First.
>     if Length(S1) = 1, Last(S1) = Index'First.

It doesn't seem so goofy to me. The test for a null unbounded array is 
"S = Null_Unbounded_Array" or Length (S) = 0. Last is pretty meaningless 
if the array is null, so having it return something meaningless seemed 
better than having it raise an exception. If Length (S) = 1, then Last = 
First, by definition, so Last (S) = Index'First.

There didn't seem to be any way to return an appropriate result from 
To_Fixed if the unbounded array was null, so it raises an exception.

The definition of Last was driven by the decision to allow null 
unbounded arrays regardless of the base range of Index. Currently, 
unconstrained Ada array types can exist that don't have null arrays. 
IIRC, this will be corrected in Ada 0X; if you allow them for arrays, 
you ought to allow them for the unbounded-array abstraction.

-- 
Jeff Carter
"Son of a window-dresser."
Monty Python & the Holy Grail
12



  reply	other threads:[~2005-04-28  3:09 UTC|newest]

Thread overview: 52+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-04-26 11:43 Ada.Containers.Vectors - querying multiple elements Duncan Sands
2005-04-26 14:12 ` Georg Bauhaus
2005-04-26 14:39   ` Duncan Sands
2005-04-26 15:44     ` Matthew Heaney
2005-04-26 16:05       ` Duncan Sands
     [not found]       ` <1114531544.32583.142.camel@localhost.localdomain>
     [not found]         ` <426E72C3.9070108@on2.com>
2005-04-26 16:59           ` Duncan Sands
     [not found]           ` <1114534751.32583.144.camel@localhost.localdomain>
     [not found]             ` <426E73DE.2070505@on2.com>
2005-04-26 17:08               ` Duncan Sands
2005-04-26 18:17                 ` Martin Dowie
2005-04-26 18:48                   ` Duncan Sands
2005-04-26 18:59           ` Duncan Sands
2005-04-26 19:05             ` Georg Bauhaus
2005-04-26 20:34               ` Duncan Sands
2005-04-26 21:47               ` Dr. Adrian Wrigley
2005-04-26 23:21                 ` Marius Amado Alves
     [not found]                 ` <9decddc0038674b3c85aeceefb4d3b83@netcabo.pt>
2005-04-27  8:15                   ` Duncan Sands
     [not found]                   ` <1114589729.10418.13.camel@localhost.localdomain>
2005-04-27 11:49                     ` Marius Amado Alves
2005-04-28  0:36                       ` Randy Brukardt
2005-04-28  7:09                         ` Duncan Sands
2005-04-27 11:10                 ` Georg Bauhaus
2005-04-27 11:57                   ` Duncan Sands
2005-04-28 14:17       ` Duncan Sands
2005-04-27  4:59   ` Jeffrey Carter
2005-04-27  7:21     ` Duncan Sands
2005-04-28  2:54       ` Jeffrey Carter
2005-04-28  7:15         ` Duncan Sands
2005-04-28 12:27           ` Matthew Heaney
2005-04-28 13:18           ` Matthew Heaney
2005-04-28 13:53             ` Duncan Sands
2005-04-29  2:46           ` Jeffrey Carter
2005-04-29 18:22             ` Robert A Duff
2005-04-28  7:18         ` Duncan Sands
2005-04-28  0:33     ` Randy Brukardt
2005-04-28  3:09       ` Jeffrey Carter [this message]
2005-04-28 20:55         ` Randy Brukardt
2005-04-29  2:54           ` Jeffrey Carter
2005-04-29 18:34             ` Robert A Duff
2005-04-29 20:18               ` Randy Brukardt
2005-04-29 20:00             ` Randy Brukardt
2005-04-30  4:06               ` Jeffrey Carter
2005-04-29  7:52           ` Dmitry A. Kazakov
2005-04-29 20:26             ` Randy Brukardt
2005-04-30  9:24               ` Dmitry A. Kazakov
2005-05-02  3:21                 ` Randy Brukardt
2005-05-02 17:04                   ` Dmitry A. Kazakov
2005-05-02 18:57                     ` Robert A Duff
2005-05-03  8:14                       ` Dmitry A. Kazakov
2005-05-03 23:30                         ` Robert A Duff
2005-05-05 10:51                           ` Dmitry A. Kazakov
2005-05-07  1:20                             ` Matthew Heaney
2005-05-07  7:17                               ` Dmitry A. Kazakov
     [not found] <1114515832.32583.41.camel@localhost.localdomain>
     [not found] ` <426E5A0B.3010109@on2.com>
2005-04-26 16:00   ` Duncan Sands
2005-04-28  0:54     ` Randy Brukardt
replies disabled

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