Regarding std.range.indexed

Jesse Phillips Jesse.K.Phillips+D at gmail.com
Mon Jan 13 18:51:56 PST 2014


On Tuesday, 14 January 2014 at 01:14:41 UTC, bearophile wrote:
> Code like this doesn't compile, the swap doesn't work:
>
>
> import std.range: indexed;
> import std.algorithm: swap;
> void main() {
>     immutable source = [10, 20, 30];
>     auto ind = indexed(source, [0, 1, 2]);
>     swap(ind[0], ind[1]);
> }
>
>
> But isn't an important usage case of indexed() to shuffle and 
> sort a view of an immutable array, like sorting a 
> immutable(int)*[] ?
>
> Bye,
> bearophile

I thought it was to provide an index number during a foreach 
iteration. If you have an randomAccess range with assignable 
elements, why use indexed?


More information about the Digitalmars-d-learn mailing list