From: "Steve Folly" <steve@follysplace.demon.co.uk>
Subject: Generic units and child units
Date: 1999/05/12
Date: 1999-05-12T00:00:00+00:00 [thread overview]
Message-ID: <926545009.26110.0.nnrp-04.c2de848f@news.demon.co.uk> (raw)
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;
In my test program I can instantiate a List for integers:
with List;
procedure Test is
package Integer_List is new List (Item => Integer);
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 couldn't find anything in the LRM about this.
Thanks to anyone who can help.
--
Regards,
Steve Folly - Y2K compliant since 32nd Februark 1998
http://www.follysplace.demon.co.uk
donationsto:myaccount@mybank.co.uk
next 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 Steve Folly [this message]
1999-05-12 0:00 ` Generic units and child units Brian Rogoff
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