associative arrays: iteration is finally here
Justin Johansson
no at spam.com
Wed Oct 28 07:49:36 PDT 2009
Andrei Alexandrescu 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.
>
> For AAs, there would be a "iterate keys" and "iterate values" properties
> or functions. How should they be called?
>
>
> Thanks,
>
> Andrei
Don't know if I'm off track but ...
would "opApplyKeys" and "opApplyValues" be a useful analogy in somewhat
keeping with the current semantics of opApply?
Justin
More information about the Digitalmars-d
mailing list