comp.lang.ada
 help / color / mirror / Atom feed
From: Ludovic Brenta <ludovic@ludovic-brenta.org>
Subject: Re: generics in Ada 83
Date: Tue, 13 Sep 2005 21:37:17 +0200
Date: 2005-09-13T21:37:17+02:00	[thread overview]
Message-ID: <87r7bshi8i.fsf@ludovic-brenta.org> (raw)
In-Reply-To: 1126636985.067939.27760@f14g2000cwb.googlegroups.com

"REH" <spamjunk@stny.rr.com> writes:
> Martin Dowie wrote:
>> package A is
>>     type A_T is private;
>>     procedure Y (Z : A_T);
>> private
>>     type A_T is new Integer;
>> end A;
>>
>> generic
>>     type X is private;
>>     with procedure Y (Z : X) is <>;
>> package B is
>> end B;
>>
>> with A; use A;
>> with B;
>>
>> package C is
>>     new B (A_T);  -- Picks up 'Y' by default
>>
>> Cheers
>>
>> -- Martin
>
> That seems reasonable.  Two questions:
> 1) If I have Y1 through Yn, Do I define the ones I care about when I
> instantiate B or do I define then in C, before B?

If there are several Y's to choose from, you must choose at the point
of instantiation of B:

with A, B;
package C is new B (X => A.A_T, Y => A.Yn);

> 2) is there a way to avoid having to include A?

C must see the type and procedure passed to it as actual generic
parameters, so there I can think of no way to avoid withing A.

-- 
Ludovic Brenta.



  reply	other threads:[~2005-09-13 19:37 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-09-13 13:26 generics in Ada 83 REH
2005-09-13 13:30 ` Georg Bauhaus
2005-09-13 16:25   ` REH
2005-09-13 19:23     ` Georg Bauhaus
2005-09-13 13:50 ` Martin Dowie
2005-09-13 16:30   ` REH
2005-09-13 16:41     ` Martin Dowie
2005-09-13 18:43       ` REH
2005-09-13 19:37         ` Ludovic Brenta [this message]
2005-09-13 19:53           ` REH
2005-09-13 16:56 ` Jeffrey Carter
2005-09-13 18:53   ` REH
2005-09-13 22:16     ` Jeffrey Carter
2005-09-13 22:44       ` REH
2005-09-14  8:14   ` Jean-Pierre Rosen
2005-09-14 12:40     ` REH
2005-09-14 13:15     ` Hyman Rosen
2005-09-14 14:08       ` Jean-Pierre Rosen
2005-09-14 15:23         ` Hyman Rosen
2005-09-14 15:41           ` Robert A Duff
2005-09-19 17:58             ` REH
2005-09-20  4:58               ` Hyman Rosen
2005-09-20 12:36                 ` REH
2005-09-20  1:34             ` adaworks
2005-09-20  4:14               ` Jim Rogers
2005-09-21 22:58               ` Robert A Duff
2005-09-22 15:18                 ` adaworks
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox