RE: [boost] Re: First lambda

It sure would've been nice to be able to write _2.count, or count(_2), or _2.count(), but we can't, so we bind(). ;-) The regular syntax has its advantages, and the initial "member pointer first" surprise is a one-time adjustment.
It's an issue of how far the language is, mentally, from the domain abstraction it represents.
_2.member(&X::count)
maps more directly to
_2.count
than
bind(&X::count,_2)
does. For me. Dave Abrahams
Ahhhh, Now I understand what you want. That's no problem at all. I thought you wanted to be able to do this, vector<X *> xs unsigned long n = accumulate(xs.begin(), xs,end(), 0UL, _1 + _2->count ); where the operator->() of the class LamdaPlaceHolder<2>, returns a lambda object that has a member pointer to "count". Hence my confusion about your earlier email. Yours, -Gary-
participants (1)
-
Powell, Gary