Re: [boost] Report from Berlin C++ Standards Committee meeting

David Abrahams wrote:
Valentin Samko <boost@digiways.com> writes:
DA> auto(x){ x->first < 0 }
This is quite similar to what we are considering for polymorphic lambdas, <>(x) { return x->first < 0; }
Except 1/3 longer, and, I guess for some people, there's a huge difference in aesthetics
Yes. Looking at the current paper by Doug Gregor and others, I don't like the syntax: <>( int x ) -> bool { return x == 10; } It is too different from "normal" function declerations. Dave's auto(x) is closer and given a choice I would prefer that one. Lambda functions and expressions should scale well, for example, in a GUI application: copy( range( 0, listbox.get_length()) | transform( auto( item ) { QtString str; listbox.get_item_text( item, str ); return std::wstring( str ); } ), v.begin()); where you need to do a conversion inside the lambda function before returning it. Here, it might be easier to define that transformation function externally, but this doesn't work all of the time. It also makes the code harder to follow if you have a lot of similar functions/ function objects that vary very slightly. Another example would be manipulating pair/tuple objects and doing a transform on them before returning from the lambda function. - Reece _________________________________________________________________ Express yourself instantly with MSN Messenger! Download today it's FREE! http://messenger.msn.click-url.com/go/onm00200471ave/direct/01/
participants (1)
-
Reece Dunn