On 10/7/10 7:34 CDT, Michel Fortin wrote:
On 2010-10-07 02:09:04 -0400, Andrei Alexandrescu
<[email protected]> said:
I agree with all of the above. After all has been said and done, it
looks like uniform function call syntax is a pivotal feature for
simplifying ranges. Most ranges can simply define the basic
operations, and std.range takes care of defining boilerplate defaults
for a host of cases. For example, you just call r.moveFront() and that
becomes moveFront(r) which is defined by std.range.
That's good. I'm glad to see that using move semantics is still on the
table.
Another note, you don't really need to wait for the uniform function
call syntax for this to work. The moveFront function template in
std.range could check for the presence of moveFront in the range and
call it when available. This means you have to write moveFront(r)
everywhere instead of r.moveFront(), which might be an annoyance but at
least it works.
Turns out it's a lot more annoying in practice than I had imagined. I
think I need to wait for uniform function call syntax.
Andrei