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?