foreach for string[string]AA

Mike Wey via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Wed Mar 1 11:26:23 PST 2017


On 02/28/2017 07:16 PM, Anton Pastukhov wrote:
> On Tuesday, 28 February 2017 at 17:16:43 UTC, Daniel Kozák wrote:
>> V Tue, 28 Feb 2017 15:15:00 +0000
>> Anton Pastukhov via Digitalmars-d-learn
>> <digitalmars-d-learn at puremagic.com> napsáno:
>>
>>> I can't see the logic in AA foreach order. Consider this code:
>>> ...
>>> Output:
>>> three
>>> two
>>> one
>>> four
>>>
>>> I was sure output should be
>>> one
>>> two
>>> three
>>> four
>>
>> https://forum.dlang.org/post/xbanhtkvrizyqjcibsck@forum.dlang.org
>
> Thank you for the link, it was informative reading. It's a pity that
> still there is no ordered AA at least as a library type.

I had the same use case in the generator for GtkD, i needed fast lookup 
while iteration needed to preserve the insertion order. I opted for 
storing nodes of a linked list in the build in AA.

The implementation[1] is currently LGPL to match the rest of the 
library, but if anyone would find it useful it can be changed to 
something else.

[1] 
https://github.com/gtkd-developers/GtkD/blob/master/wrap/utils/LinkedHasMap.d

-- 
Mike Wey


More information about the Digitalmars-d-learn mailing list