
{ using range_ex::transform; // immediate transform(s, f); }
{ using range_ex::view::transform; transform(s, f); }
I think lazy algorithms should be different in non-qualified name from the eager ones, so that dumb text searches work and casually glancing at the code tells the right story.
s = s | transform(f)
vs
transform(s, f, s)
I think the difference is quite obvious and the syntax needs no elaboration.
That's ok. Both having the same number of arguments, one doing work in-place, the other returning a result range, depending on namespace, as the OP proposed, is not, IMO. Arno -- Dr. Arno Schoedl · aschoedl@think-cell.com Technical Director think-cell Software GmbH · Invalidenstr. 34 · 10115 Berlin, Germany http://www.think-cell.com · phone +49-30-666473-10 · toll-free (US) +1-800-891-8091 Directors: Dr. Markus Hannebauer, Dr. Arno Schoedl · Amtsgericht Charlottenburg, HRB 85229