10 Aug
2007
10 Aug
'07
2:47 p.m.
Olaf van der Spek wrote:
On 8/9/07, Peter Dimov
wrote: Olaf van der Spek wrote:
sort(countries1.begin(), countries1.end(), _1->second > _2->second);
sort( countries1.begin(), countries1.end(),
bind( &countries_t::value_type::second, *_1 ) > bind( &countries_t::value_type::second, *_2 )
Thanks, that did the trick. I didn't know you could use bind like this too. But why does the simpler syntax not work?
Due to the way operator-> overloading works, it's hard to make _1->second do what you want (and impossible for arbitrary identifiers and not just 'second'.) The closest you can get with Lambda is _1 ->* &countries_t::value_type::second.