From: Brian Rogoff <bpr@shell5.ba.best.com>
Subject: Re: Generic units and child units
Date: 1999/05/12
Date: 1999-05-12T00:00:00+00:00 [thread overview]
Message-ID: <Pine.BSF.4.10.9905122013100.17334-100000@shell5.ba.best.com> (raw)
In-Reply-To: 926545009.26110.0.nnrp-04.c2de848f@news.demon.co.uk
On Wed, 12 May 1999, Steve Folly wrote:
> Hi,
>
> I'm having a bit of bother combining generic units and child units...
>
> Originally I had a List [of integers] package which dynamically added
> integers into a List.Object type
> using the standard Node with a Previous and Next pointer, dynamically
> allocating each node as required.
> Fine so far.
>
> Next, I implemented a List.Iterator child package to enable iteration
> through a List.Object
> backwards or forwards, starting at the head or tail of the list as required.
> Fine again.
>
> Now, what I really wanted was to make List a generic package so it could
> store any type rather than
> just integers. OK, that works.
>
> The problem I have is how to define the (now) generic List.Iterator package.
> The only way I
> could get it to compile was to include the keyword 'generic' ie. I now
> have...
>
> generic
> type Item is private;
> package List is
> ... blah blah
> end List;
>
> generic
> package List.Iterator is
> ... blah blah
> end List.Iterator;
That's right, all children of a generic package must be generic.
>
>
> In my test program I can instantiate a List for integers:
>
> with List;
> procedure Test is
> package Integer_List is new List (Item => Integer);
package Integer_List_Iterator is new Integer_List.Iterator;
is the correct syntax.
> begin
> ... blah blah
> end Test;
>
> BUT, how do I get access to List.Iterator for the instantiated integer list.
> What is the correct syntax?
>
> Am I even going about this the right way? If possible, I would like to keep
> the Iterator child package separate.
I'm still wondering the same thing. In similar libraries, I've used child
packages as you have used them.
-- Brian
next prev parent reply other threads:[~1999-05-12 0:00 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
1999-05-12 0:00 Generic units and child units Steve Folly
1999-05-12 0:00 ` Brian Rogoff [this message]
1999-05-13 0:00 ` Robert A Duff
1999-05-15 0:00 ` Matthew Heaney
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox