comp.lang.ada
 help / color / mirror / Atom feed
From: ytomino <aghia05@gmail.com>
Subject: Re: Two approaches of iterators for the key-value pairs
Date: Fri, 27 Nov 2015 10:08:23 -0800 (PST)
Date: 2015-11-27T10:08:23-08:00	[thread overview]
Message-ID: <3a6f986a-f5f3-4175-b191-b0133e70ff66@googlegroups.com> (raw)
In-Reply-To: <2n6rk7i078ph.cs60h3ciaojr.dlg@40tude.net>

On Saturday, November 28, 2015 at 1:30:23 AM UTC+9, Dmitry A. Kazakov wrote:
> On Fri, 27 Nov 2015 07:25:57 -0800 (PST), ytomino wrote:
> 
> > Hello, I'm reading AI12-0009-1 "Iterators for Directories and Environment_Variables".
> > http://www.ada-auth.org/cgi-bin/cvsweb.cgi/ai12s/ai12-0009-1.txt?rev=1.4
> > 
> > And there is interesting difference between the new iterator of Ada.Environment_Variables and the existing iterators.
> > (The boolean trick of these new iterators is also interesting, but set aside.)
> > 
> > A loop for Ada.Environment_Variables would be like below, according to this AI:
> > 
> > for E *of* Ada.Environment_Variables.All_Variables loop
> >    -- E is Iterator_Element (Name_Value_Pair_Type)
> >    Name (E) -- key
> >    Value (E) -- value
> > end loop;
> > 
> > On the other hand, as we already know, a loop for Ada.Containers.Hashed_Maps/Ordered_Maps:
> > 
> > for I *in* The_Map_Object.Iterate loop
> >    -- I is Cursor
> >    Key (E) -- key
> >    Element (E), Reference (E).Element.all -- value
> > end loop;
> > 
> > If you create new iterator for some key-value pairs, which approach do you like?
> 
> Rather this:
> 
> for Variable in All_Variables loop
>    Put_Line (Variable.Name & "=" & Variable.Value);
> end loop;

It sounds good.

However, the Cursor probably have to be tagged to implement it for dot-notation, and, I think it will be an double-dispatching error on First/Next because the iterator is also tagged.

I wish dot-notation for non-tagged type is allowed (with pragma?)


  reply	other threads:[~2015-11-27 18:08 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-11-27 15:25 Two approaches of iterators for the key-value pairs ytomino
2015-11-27 16:30 ` Dmitry A. Kazakov
2015-11-27 18:08   ` ytomino [this message]
2015-11-27 20:50     ` Dmitry A. Kazakov
2015-11-27 22:52     ` bj.mooremr
2015-11-27 17:00 ` Pascal Obry
2015-11-27 18:25   ` ytomino
2015-11-27 17:43 ` Brad Moore
2015-11-27 19:38   ` ytomino
2015-11-27 19:46     ` ytomino
2015-11-27 23:11     ` Brad Moore
2015-11-28  8:58       ` Simon Wright
2015-11-28 19:54         ` Brad Moore
2015-11-28 23:34           ` Simon Wright
2015-11-29 21:17             ` Bob Duff
2015-11-29 16:17         ` Simon Wright
2015-11-29 17:55       ` ytomino
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox