
Arno Schödl wrote:
{ 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.
If it can be disambiguated by the arity, then yes, using the same name is the best choice, IMO. No need for different namespaces even. Even STL does that. Regards, -- Joel de Guzman http://www.boostpro.com http://spirit.sf.net