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-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,39d97888ebb8bbec,start X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2001-04-11 10:52:02 PST Path: supernews.google.com!sn-xit-03!supernews.com!freenix!skynet.be!diablo.theplanet.net!diablo.dera.gov.uk!dera!not-for-mail From: "Kevin Rigotti" Newsgroups: comp.lang.ada Subject: Copying by dispatching on remote access to class wide types Date: Wed, 11 Apr 2001 18:49:32 +0100 Organization: Defence Evaluation & Research Agency Message-ID: <9b25g9$gn7$1@trog.dera.gov.uk> NNTP-Posting-Host: 194.61.191.135 X-Newsreader: Microsoft Outlook Express 4.72.3612.1700 X-MimeOLE: Produced By Microsoft MimeOLE V4.72.3612.1700 Xref: supernews.google.com comp.lang.ada:6777 Date: 2001-04-11T18:49:32+01:00 List-Id: What I would like to be able to do is have a function to take a local copy of part of some remote data, of the form function copy(remote : Distributed_Object_T; .... ) return Distributed_Object_T where calls dispatch on the controlling operand "remote" which would be a derefence of a remote access to class wide type, and NOT on the returned value (of variable size as determined by the other arguments) which is a local copy of part of the remote data. This isn't valid Ada (is it?) and would get complaints about trying to dispatch twice in one call. I can see that one way of achieving what I want would be by associating the Distributed Object with some other class that would accept the dispatching call and use a supplied access value to return the data, but I can't help feeling that I am getting myself into a bit of mess when there is probably a perfectly straight forward way of doing it. Suggestions? Kevin -- ATC Systems Group, DERA, St Andrews Road, Malvern, Worcestershire WR14 3PS, UK Phone +44 (0)1684 89 69 11, fax +44(0)1684 89 41 09 DERA disclaimers and restrictions apply, details on request