Equality of ForwardRanges

monarch_dodra monarchdodra at gmail.com
Sun Oct 28 13:29:58 PDT 2012


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.

No, you can't compare range contents with "==". You can use the 
algorithm "equal", which has a lot of logic to make it optimal 
when possible.



More information about the Digitalmars-d mailing list