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?

Reply via email to