On Sunday, 28 October 2012 at 19:42:30 UTC, Tobias Pankrath wrote:
Given:

void foo(Range)(Range fwdR)
   if(isForwardRange!Range)
{
    auto tmp = fwdR.save;
    assert(tmp == fwdR);
}

May I assume that the assert holds for generic forward range types?

Reason: I try to write an algorithm, that is easily implementable with random access ranges, but to make it work with forward ranges I need a comparison similar to the one above.

If you meant comparing the actual range objects using "r == r.save", that doesn't hold either: If a is a "reference semantic range", such as a class, then the saved range will be different from the old range.

Note that in both cases, this has nothing to do with RA vs Frwd.

Reply via email to