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,FREEMAIL_FROM autolearn=ham autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,9d303864ae4c70ad X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2004-04-13 07:45:35 PST Path: archiver1.google.com!news1.google.com!news.glorb.com!border1.nntp.ash.giganews.com!border2.nntp.sjc.giganews.com!border1.nntp.sjc.giganews.com!nntp.giganews.com!local1.nntp.sjc.giganews.com!nntp.comcast.com!news.comcast.com.POSTED!not-for-mail NNTP-Posting-Date: Tue, 13 Apr 2004 09:45:34 -0500 Date: Tue, 13 Apr 2004 10:45:34 -0400 From: "Robert I. Eachus" User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.4) Gecko/20030624 Netscape/7.1 (ax) X-Accept-Language: en-us, en MIME-Version: 1.0 Newsgroups: comp.lang.ada Subject: Re: Reprise: 'in out' parameters for functions References: In-Reply-To: Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Message-ID: <_PednVqjoLmTYObdRVn-jg@comcast.com> NNTP-Posting-Host: 24.147.90.114 X-Trace: sv3-WcLpSsSvY2G+lfp1pr/fZ73z5WuvMp60MQ0lmN5ckpNG+cxUwvq33qnkMsXm0zH7deBieNLGrJvaHH1!p8ucXhEF/SqMSwrtGvKfUwH8CmVOROov2X1/0StHUMIIIo4bAefGi1YFGtqbuw== X-Complaints-To: abuse@comcast.net X-DMCA-Complaints-To: dmca@comcast.net X-Abuse-and-DMCA-Info: Please be sure to forward a copy of ALL headers X-Abuse-and-DMCA-Info: Otherwise we will be unable to process your complaint properly X-Postfilter: 1.1 Xref: archiver1.google.com comp.lang.ada:7053 Date: 2004-04-13T10:45:34-04:00 List-Id: Stephen Leake wrote: > This is what I wanted to declare: > > function Parse > (Error_Label : in String; > Token : in out Token_List.List_Iterator) > return String; ... > The work-around is to use a procedure and a bounded string: > > procedure Parse > (Error_Label : in String; > Token : in out Token_List.List_Iterator; > Config_File_Name : out OpenToken.Buffers.Bounded_String); IMHO a better workaround is to use an access parameter: function Parse (Error_Label : in String; Token : access Token_List.List_Iterator) return String; Yeah, I know, access is not a parameter mode. But it certainly works like one which is why I tend to align access as if it were a mode. -- Robert I. Eachus "The terrorist enemy holds no territory, defends no population, is unconstrained by rules of warfare, and respects no law of morality. Such an enemy cannot be deterred, contained, appeased or negotiated with. It can only be destroyed--and that, ladies and gentlemen, is the business at hand." -- Dick Cheney