From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-2.9 required=5.0 tests=BAYES_00,FREEMAIL_FROM, MAILING_LIST_MULTI autolearn=unavailable autolearn_force=no version=3.4.4 X-Google-Thread: 103376,1fa85f3df5841ae1 X-Google-Attributes: gid103376,public X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news1.google.com!news3.google.com!news2.google.com!proxad.net!usenet-fr.net!news.enst.fr!melchior!cuivre.fr.eu.org!melchior.frmug.org!not-for-mail From: Duncan Sands Newsgroups: comp.lang.ada Subject: Re: Ada.Containers.Vectors - querying multiple elements Date: Tue, 26 Apr 2005 18:05:44 +0200 Organization: Cuivre, Argent, Or Message-ID: References: <426e4c2b$0$7515$9b4e6d93@newsread2.arcor-online.net> <1114530273.185327.319710@z14g2000cwz.googlegroups.com> NNTP-Posting-Host: lovelace.ada-france.org Mime-Version: 1.0 Content-Type: text/plain Content-Transfer-Encoding: 7bit X-Trace: melchior.cuivre.fr.eu.org 1114531564 68441 212.85.156.195 (26 Apr 2005 16:06:04 GMT) X-Complaints-To: usenet@melchior.cuivre.fr.eu.org NNTP-Posting-Date: Tue, 26 Apr 2005 16:06:04 +0000 (UTC) Cc: comp.lang.ada@ada-france.org To: Matthew Heaney Return-Path: In-Reply-To: <1114530273.185327.319710@z14g2000cwz.googlegroups.com> X-Mailer: Evolution 2.2.1.1 X-Virus-Scanned: by amavisd-new-20030616-p10 (Debian) at ada-france.org X-BeenThere: comp.lang.ada@ada-france.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Gateway to the comp.lang.ada Usenet newsgroup" List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Xref: g2news1.google.com comp.lang.ada:10722 Date: 2005-04-26T18:05:44+02:00 Hi Matthew, > > (1) efficiency - suppose (for example) I want to transmit the > contents > > of my vector down a socket. > > You're not grokking the Ada95 way of doing things. Use the stream > operations for that. All containers (indeed, all non-limited types in > the predefined language environment) support streaming. I agree it wasn't a good example. > > (2) reuse of legacy code - I don't know about you, but I've a lot of > > legacy code around that takes an array as a parameter... > > A vector container isn't necessarily implemented as an array, so there > are no benefits to having array-based operations. Not so. There is a benefit if array-based operations can be implemented much more efficiently in the body of Ada.Containers.Vectors (where properties of the data structure can be fully exploited), as compared to implementing them outside the body (via copying to a buffer using multiple calls to Element). The pointer-to-an-array implementation is an example where you get a big benefit from implementing in the body; that's not to say there is no benefit for other implementations. All the best, Duncan.