Associative Ranges

Xinok via Digitalmars-d digitalmars-d at puremagic.com
Sat Aug 2 08:46:29 PDT 2014


On Saturday, 2 August 2014 at 14:49:49 UTC, bearophile wrote:
> Xinok:
>
>> I do wonder if we should generalize an interface for these 
>> types of ranges.
>
> First of all you need some use cases and usage examples.
>
> Bye,
> bearophile

The most obvious use case is generic functions that can operate 
on associative ranges of any type, regardless of implementation. 
There are various ways to implement and optimize hash tables for 
specific use cases, so it would be convenient not to be 
restricted to a single container.

As for usage examples, I don't have any because I'm not sure what 
the primitives should be. I will emphasize that "associative 
ranges" should be distinguishable from random-access ranges. If 
they weren't, then we would have to comb through Phobos and add 
checks everywhere, e.g. (!isAssociativeRange!Range). I don't 
think forward ranges and bidirectional ranges would be an issue 
though.


More information about the Digitalmars-d mailing list