From: Lutz Donnerhacke <lutz@iks-jena.de>
Subject: Re: MI ammunition : linked lists
Date: Tue, 11 Nov 2003 12:58:55 +0000 (UTC)
Date: 2003-11-11T12:58:55+00:00 [thread overview]
Message-ID: <slrnbr1n8f.ru.lutz@taranis.iks-jena.de> (raw)
In-Reply-To: mailman.321.1068553502.25614.comp.lang.ada@ada-france.org
* Marius Amado Alves wrote:
> On Tue, 2003-11-11 at 09:32, Lutz Donnerhacke wrote:
>> type Base is limited tagged record
>> d : Datum;
>> end record;
>>
>> package Base_List1 is new Double_Linked_List (Base); use Base_List1;
>> package Base_List2 is new Double_Linked_List (List1); use Base_List2;
>
> I think you've failed to define List1 before using it here.
My fault.
package Base_List2 is new Double_Linked_List (List1.Object); use Base_List2;
> But anyway this does not look like data being shared between lists.
generic
type Node(<>) is abstract tagged limited private;
package Double_Linked_List is
type Object is abstract limited new Node with private;
type List ist limited private;
...
private
type Node_Ptr is access all Object;
type Object is abstract limited new Node with record
next, prev : Node_Ptr := Object'Access;
end record;
type List is limited record
start, end : Node_Ptr := List'Access;
end record;
end Double_Linked_List;
> It looks like a list of lists, which a different thing entirely.
> Recursive containers.
No, it's a plain mixin.
> Actually in the case of data sharing between containers, I don't think
> you can escape some sort of pointing.
Of course, but you should hide them in the enclosing structure. It's bad
design to collect pointers explicitly.
next prev parent reply other threads:[~2003-11-11 12:58 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-11-06 16:32 MI ammunition : linked lists amado.alves
2003-11-06 16:46 ` Stephen Leake
2003-11-06 17:15 ` Frank J. Lhota
2003-11-08 10:27 ` Dmitry A. Kazakov
2003-11-06 17:16 ` Jean-Pierre Rosen
2003-11-06 18:15 ` Wes Groleau
2003-11-06 21:03 ` Simon Wright
2003-11-07 10:39 ` Dmitry A. Kazakov
2003-11-07 10:29 ` Dmitry A. Kazakov
2003-11-10 14:51 ` Lutz Donnerhacke
2003-11-10 17:52 ` Marius Amado Alves
2003-11-11 9:32 ` Lutz Donnerhacke
2003-11-11 12:24 ` Marius Amado Alves
2003-11-11 12:58 ` Lutz Donnerhacke [this message]
2003-11-11 16:09 ` Robert I. Eachus
2003-11-11 17:11 ` Marius Amado Alves
2003-11-12 9:21 ` Lutz Donnerhacke
-- strict thread matches above, loose matches on Subject: below --
2003-11-06 17:26 amado.alves
2003-11-06 17:33 amado.alves
2003-11-06 19:01 amado.alves
2003-11-11 18:38 ` Georg Bauhaus
2003-11-11 21:27 ` Marius Amado Alves
2003-11-12 0:23 ` Georg Bauhaus
2003-11-12 11:29 amado.alves
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox