From: "Mark Lundquist" <mlundquist2@attbi.com>
Subject: Re: List container strawman 1.3
Date: Wed, 05 Dec 2001 21:22:14 GMT
Date: 2001-12-05T21:22:14+00:00 [thread overview]
Message-ID: <aewP7.2149$dp6.152302@rwcrnsc54> (raw)
In-Reply-To: %7sP7.49836$xS6.82296@www.newsranger.com
"Ted Dennison" <dennison@telepath.com> wrote in message
news:%7sP7.49836$xS6.82296@www.newsranger.com...
> In article <3C0E1FA1.45A38A75@brighton.ac.uk>, John English says...
> >
> >Why does the iterator type need to be controlled? What's your mental
> >model of what an iterator consists of? Mine generally says that an
>
> An iterator doesn't but a *safe* iterator does (as the list needs to know
when
> its iterators go away).
Ted, why does a list need to "know" when its iterators go away?
Did you mean to say that safe iterator needs to know when its list has gone
away?
If so, a more lightweight approach is to use an access discriminant denoting
the list, e.g.:
type Iterator (My_List : access List) is limited record
My_Item : Item_Ptr;
end record;
Then it is simply impossible for an Iterator to outlive its list! The lack
of assignment is easily overcome:
procedure Set (This : in out Iterator; To : Iterator) is
begin
This.My_Item := To.My_Item;
end Set;
since composing ":=" is probably not an issue for iterators (i.e. the
ability to assign composite types having Iterator components).
Best,
Mark
next prev parent reply other threads:[~2001-12-05 21:22 UTC|newest]
Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top
2001-12-05 0:08 List container strawman 1.3 Ted Dennison
2001-12-05 0:26 ` Ted Dennison
2001-12-05 1:31 ` Vincent Marciante
2001-12-05 8:35 ` Jean-Marc Bourguet
2001-12-05 15:02 ` Ted Dennison
2001-12-05 13:22 ` John English
2001-12-05 16:42 ` Ted Dennison
2001-12-05 21:22 ` Mark Lundquist [this message]
2001-12-05 21:38 ` Mark Lundquist
2001-12-05 22:42 ` Ted Dennison
2001-12-05 23:59 ` Mark Lundquist
2001-12-06 14:50 ` Iterator approach (was: List container strawman 1.3) Ted Dennison
2001-12-06 16:19 ` Ted Dennison
2001-12-06 17:41 ` Mark Lundquist
2001-12-06 17:57 ` Preben Randhol
2001-12-07 16:19 ` Ted Dennison
2001-12-06 17:47 ` List container strawman 1.3 Darren New
2001-12-07 16:00 ` Ted Dennison
2001-12-07 17:18 ` Darren New
2001-12-09 14:04 ` Mark Lundquist
2001-12-05 16:44 ` Simon Wright
2001-12-05 2:57 ` Jeffrey Carter
2001-12-05 3:45 ` Ted Dennison
2001-12-05 6:01 ` Jeffrey Carter
2001-12-05 13:17 ` John English
2001-12-05 15:46 ` Ted Dennison
2001-12-05 18:03 ` Georg Bauhaus
2001-12-05 18:30 ` Ted Dennison
2001-12-06 13:56 ` Georg Bauhaus
2001-12-06 14:59 ` Ted Dennison
2001-12-06 0:18 ` Jeffrey Carter
2001-12-06 13:52 ` Georg Bauhaus
2001-12-06 16:56 ` Jeffrey Carter
2001-12-06 19:33 ` Georg Bauhaus
2001-12-07 16:22 ` Ted Dennison
2001-12-05 16:53 ` Ted Dennison
2001-12-05 17:09 ` Larry Kilgallen
2001-12-06 23:07 ` Nick Roberts
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox