associative arrays: iteration is finally here
Max Samukha
spambox at d-coding.com
Wed Oct 28 08:42:57 PDT 2009
On Wed, 28 Oct 2009 09:22:00 -0500, Andrei Alexandrescu
<SeeWebsiteForEmail at erdani.org> wrote:
>Walter has magically converted his work on T[new] into work on making
>associative arrays true templates defined in druntime and not considered
>very special by the compiler.
>
>This is very exciting because it opens up or simplifies a number of
>possibilities. One is that of implementing true iteration. I actually
>managed to implement last night something that allows you to do:
>
>int[int] aa = [ 1:1 ];
>auto iter = aa.each;
>writeln(iter.front.key);
>writeln(iter.front.value);
>
>Two other iterations are possible: by key and by value (in those cases
>iter.front just returns a key or a value).
>
>One question is, what names should these bear? I am thinking of makign
>opSlice() a universal method of getting the "all" iterator, a default
>that every container must implement.
It looks pretty intuitive to me.
>
>For AAs, there would be a "iterate keys" and "iterate values" properties
>or functions. How should they be called?
eachKey, eachValue
keyRange, valueRange
keys, values
I'd prefer the last one.
>
>
>Thanks,
>
>Andrei
More information about the Digitalmars-d
mailing list