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,4e04f7888d82ca71 X-Google-Attributes: gid103376,public X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news2.google.com!news4.google.com!border1.nntp.dca.giganews.com!nntp.giganews.com!nx01.iad01.newshosting.com!newshosting.com!newsfeed.icl.net!newsfeed.fjserv.net!colt.net!feeder.news-service.com!newsfeed.freenet.de!news.osn.de!diablo1.news.osn.de!news2.arglkargh.de!news.karotte.org!uucp.gnuu.de!newsfeed.arcor.de!newsspool3.arcor-online.net!news.arcor.de.POSTED!not-for-mail Newsgroups: comp.lang.ada Subject: Re: Efficiency of returning big objects From: Georg Bauhaus In-Reply-To: <4npvh0FbgbuhU1@individual.net> References: <4npvh0FbgbuhU1@individual.net> Content-Type: text/plain Content-Transfer-Encoding: 7bit Organization: # Message-Id: <1159197882.13504.7.camel@localhost> Mime-Version: 1.0 X-Mailer: Evolution 2.6.1 Date: Mon, 25 Sep 2006 17:24:42 +0200 NNTP-Posting-Date: 25 Sep 2006 17:18:34 CEST NNTP-Posting-Host: d5068376.newsspool2.arcor-online.net X-Trace: DXC=IKWBZ;h`bdZ@@RW1FjIB5SA9EHlD;3YcR4Fo<]lROoRQ4nDHegD_]RU[ValN7BZULUTiQOITnENoRFU`4:K;4eRWURQ?Ei[ajmUioNX]TdGURX X-Complaints-To: usenet-abuse@arcor.de Xref: g2news2.google.com comp.lang.ada:6726 Date: 2006-09-25T17:18:34+02:00 List-Id: On Mon, 2006-09-25 at 14:14 +0200, Alex R. Mosteo wrote: > Some_Map.Element (Key).Method_Or_Member Could you consider using Query_Element as an efficient alternative? Or Update_Element if Method modifies. > So, what do you think? Is there some error in my reasoning or testbed? Is > this a particular shortcoming of this compiler (gnat gpl 2006), or I'm > overlooking something that makes this very non-trivial to implement? Making T limited reveals a few things: Compiling: ref.adb (source file time stamp: 2006-09-25 15:22:05) 23. return Borg; | >>> (Ada 2005) cannot copy object of a limited type (RM-2005 6.5(5.5/2)) >>> return by reference not permitted in Ada 2005 >>> consider switching to return of access type 51. if Create.X /= 0 then | >>> (Ada 2005) limited function call in this context is not yet implemented -- Georg