From: lutz@iks-jena.de (Lutz Donnerhacke)
Subject: Mixin with preelaborated element
Date: 2000/05/31
Date: 2000-05-31T00:00:00+00:00 [thread overview]
Message-ID: <slrn8j9hrm.mk.lutz@taranis.iks-jena.de> (raw)
I run into a problem with my list_mixin.
ftp://ftp.iks-jena.de/pub/mitarb/lutz/ada/types/list_mixin.ad?
generic
type Base (<>) is abstract tagged limited private;
type S (<>) is abstract new Base with private;
package List_Mixin is
type T is abstract new S with private;
type T_Class is access all T'Class;
type List is limited private;
-- several lines of code deleted
private
type T is abstract new S with
record
Next : T_Class := null;
Used : Boolean := False; -- to detect multiple insertions
end record;
type List is limited
record
Start : T_Class := null;
end record;
-- several lines of code deleted
end List_Mixin;
The current implementation use null at the tail marker. This requires the
flag Used and causes a lot of ineffient code.
So I'd like to introduce a single fixed end node used by all instantiations.
It should contain only the Next element.
How can I achieve it?
Using assembly I added the link in front of the structure and ignored the
varying context following it. Good examples can be found in D.E.Knuth TAoCP.
next reply other threads:[~2000-05-31 0:00 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2000-05-31 0:00 Lutz Donnerhacke [this message]
2000-05-31 0:00 ` Mixin with preelaborated element Antonio Dur�n Dom�nguez
2000-06-01 0:00 ` Lutz Donnerhacke
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox