On Tue, 12 Jul 2011 00:58:04 +0300, Timon Gehr <timon.g...@gmx.ch> wrote:

so wrote:
There is a simple workaround for this type of ranges that are like
iterators, which we know the beginning and the end.
We can improve isForwardRange!R by adding a line hasForwardRange!R. If it
does have, we return an adaptor which gives us a mutable range.
Good thing is because the original range is mutable we don't need to worry
about anything else.

Wouldn't that be quite invasive? I imagine every function that would want to work on ranges would then have to provide two versions, one that does the work and one
that calls the other version after having applied the adaptor(s)?

Cheers,
-Timon

In this case, not necessarily.
hasForwardRange could just be a global function that checks if its argument is an array and this i think would solve all our current problems.

Reply via email to