From: "Pat Rogers" <progers@NOclasswideSPAM.com>
Subject: Re: "out" or "access"
Date: 1998/10/21
Date: 1998-10-21T00:00:00+00:00 [thread overview]
Message-ID: <70kvnv$gvo$1@supernews.com> (raw)
In-Reply-To: 362DF0D3.BC101364@spam.innocon.com
Jeff Carter wrote in message <362DF0D3.BC101364@spam.innocon.com>...
>=:-) Vincent wrote:
>>
>> <snipped question of access parameters versus mode out
parameters>
>
> <snipped good answer by Jeff>
> Access parameters exist primarily to interfaces with subprograms
from other
>languages.
A bit too strong there, IMHO. Access parameters are a very handy
alternative when you want to derive from a type that has primitive
subprograms with a formal parameter of a named access type. Why?
Because access parameters are not named access types, so the
derivation provides primitives with the desired signatures. For
example:
type T1 is tagged ...
type T1_Pointer is access T1;
procedure Foo( This : in T1; That : in T1_Pointer );
Then, in a derivation:
type T2 is new T1 with ...
This gives us:
procedure Foo( This : in T2; That : in T1_Pointer );
Note that the type of the formal 'That' is still T1_Pointer,
probably not what we wanted.
On the other hand, had we defined things as:
type T1 is tagged ...
-- don't need this now... type T1_Pointer is access T1;
procedure Foo( This : in T1; That : access T1 );
The derivation would provide
procedure Foo( This : in T2; That : access T2 );
which is probably the desired result in this case.
---
Pat Rogers Training, Development and
Consulting in:
http://www.classwide.com Deadline Schedulability Analysis
progers@acm.org Software Fault Tolerance
(281)648-3165 Real-Time/OO Languages
next prev parent reply other threads:[~1998-10-21 0:00 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
1998-10-21 0:00 "out" or "access" =:-) Vincent
1998-10-21 0:00 ` Jeff Carter
1998-10-21 0:00 ` Pat Rogers [this message]
1998-10-21 0:00 ` Martin C. Carlisle
1998-10-22 0:00 ` Pat Rogers
1998-10-22 0:00 ` Robert A Duff
1998-10-21 0:00 ` Tucker Taft
1998-10-22 0:00 ` Pascal Obry
1998-10-29 0:00 ` Robert A Duff
1998-10-29 0:00 ` Matthew Heaney
1998-10-29 0:00 ` Robert A Duff
1998-10-30 0:00 ` dennison
1998-10-30 0:00 ` Matthew Heaney
1998-10-30 0:00 ` Robert A Duff
1998-10-31 0:00 ` Matthew Heaney
1998-11-01 0:00 ` Robert A Duff
1998-11-01 0:00 ` Matthew Heaney
1998-11-01 0:00 ` Robert A Duff
1998-11-02 0:00 ` Matthew Heaney
1998-11-03 0:00 ` Simon Wright
1998-11-16 0:00 ` Matthew Heaney
1998-10-31 0:00 ` dewar
1998-10-31 0:00 ` Matthew Heaney
1998-10-21 0:00 ` dennison
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox