comp.lang.ada
 help / color / mirror / Atom feed
From: Georg Bauhaus <bauhaus@futureapps.de>
Subject: Re: Ada.Containers.Vectors - querying multiple elements
Date: Wed, 27 Apr 2005 13:10:21 +0200
Date: 2005-04-27T13:10:08+02:00	[thread overview]
Message-ID: <426f7310$0$10498$9b4e6d93@newsread4.arcor-online.net> (raw)
In-Reply-To: <pan.2005.04.26.21.47.09.197395@linuxchip.demon.co.uk.uk.uk>

Dr. Adrian Wrigley wrote:
> On Tue, 26 Apr 2005 21:05:28 +0200, Georg Bauhaus wrote:
> 
> 
>>Duncan Sands wrote:
>>
>>
>>>But (IMHO) grabbing a "slice" of a
>>>vector is a very normal thing to want to do.  Why not support it as
>>>efficiently as possible?
>>
>>I'm curious. Where is slicing a dynamically sized vector
>>done frequently?
> 
> 
> recursive algorithms!
> (and plenty of other places too.)

Recursive algorithms on arrays that change their
'Length during recursion by removing or inserting slices?
Or are array parameters used for the side effect of passing
bounds which are really central to the algorithm? (This can
be expressed using nested subprograms of two index values,
like in quicksort, such that the array is visible to the
subprogram.)

Hmm. Is there really a big difference?
When I pass an array slice to a subprogram that takes an in mode
array parameter,
then inside the subprogram I can look at the array properties and
at elements within the array parameter's range.

OTOH, When I pass two vector cursors to an STL-like subprogram,
then inside the subprogram I can look at the vector properties and
at elements within the range specified by the two cursors.



> (this was discussed in the endless C++/Ada rant a few weeks
> ago.

IIRC, we had arrays of fixed size in these discussions, or else
array subprogram parameters. (Part of the comparison was
with std::valarray rather than std::vector, and valarray
which offers slicing is special among STL containers, as are
Ada arrays among Ada.Containers ;-)


-- Georg 



  parent reply	other threads:[~2005-04-27 11:10 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 [this message]
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
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