On Saturday, 25 July 2015 at 09:14:04 UTC, Jonathan M Davis wrote:
. . . auto foo(alias pred, R)(R r) if(testPred!pred && isInputRange!R && !isForwardRange!R) {}auto foo(alias pred, R)(R r) if(testPred!pred && isForwardRange!R) {} and be turning it into something like template foo(alias pred) if(testPred!pred) { auto foo(R)(R r) if(isInputRange!R && !isForwardRange!R) {} auto foo(R)(R r) if(isForwardRange!R) {} } . . . - Jonathan M Davis
The example(s) is confusing me. `foo!(first)(second);` isn't really an alternative to `foo(first, second);`. Am I misreading something?
