On Wed, 28 Oct 2009 09:22:00 -0500, Andrei Alexandrescu <seewebsiteforem...@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