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?)
next prev parent 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