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=-1.9 required=5.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.4 X-Google-Thread: 103376,ba4846af158825ee X-Google-Attributes: gid103376,public X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news1.google.com!news3.google.com!border1.nntp.dca.giganews.com!nntp.giganews.com!nx01.iad01.newshosting.com!newshosting.com!207.69.154.102.MISMATCH!elnk-atl-nf2!newsfeed.earthlink.net!stamper.news.atl.earthlink.net!newsread3.news.atl.earthlink.net.POSTED!14bb18d8!not-for-mail Sender: Matthew Heaney@MHEANEYIBMT43 Newsgroups: comp.lang.ada Subject: Re: Update_Element Spec. in Containers.Indefinite_Hashed_Maps References: <1135101609.527495.321500@g49g2000cwa.googlegroups.com> From: Matthew Heaney Message-ID: User-Agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.3 MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: Wed, 21 Dec 2005 03:21:48 GMT NNTP-Posting-Host: 24.149.57.125 X-Complaints-To: abuse@earthlink.net X-Trace: newsread3.news.atl.earthlink.net 1135135308 24.149.57.125 (Tue, 20 Dec 2005 19:21:48 PST) NNTP-Posting-Date: Tue, 20 Dec 2005 19:21:48 PST Organization: EarthLink Inc. -- http://www.EarthLink.net Xref: g2news1.google.com comp.lang.ada:6951 Date: 2005-12-21T03:21:48+00:00 List-Id: "Anh Vo" writes: > The Update_Element procedure specification has two paramters, Position and > Process as implemented in GNAT-GPL. The one in the LRM 2005 has three > paramters, Container as the additional and first paramter. Which one is the > right one? The version with three parameters is correct. You appear to have an older compiler. As was mentioned elsewhere on this thread, there is a delay (usually a few weeks) between the time I change the GNAT sources at AdaCore, and the time the changes migrate into the GCC tree. Eventually I'll update the reference implementation at , but for now maintenance of the GNAT implementation is my highest priority. The tigris site will also be a good place to try out alternative implementations (incremental hashing comes to mind). Note that if you have an older version of GNAT, then it's not hard to modify your copy of the container library sources to match what's in the latest RM draft. Just find the ada include directory in your distribution, fix the file in which you're interested, and compile the modified sources with -gnatg. (Would -a work too?) If you need the latest container sources now, and you're unsure what to do, just drop me a line and I can step you through the necessary changes. -Matt P.S. I just learned today that AI-391 was approved, which means you'll be able to say: declare package Vector_Types is new A.C.Vectors (IT, ET); type VT is new Vector_Types.Vector with null record; -- not necessary to override functions returning type Vector begin Ditto for type Set. This allows one to use the "transitivity of visibility" technique mentioned in the Ada83 Rationale for containers too.