
I've had this same pattern come up 4 or 5 times now, and each time I've
been unable to find a stl + boost solution that allowed me to do what I
want without writing my own less function. Basically, I want something
that will let me do a sort, or define a map on structs or pairs without
writing a less that compares the member variable or .first. My last
attempt:
vector

Chris Jurney wrote:
Yes: struct X { int a; }; std::vector<X> v; With boost.bind: std::sort( v.begin() , v.end() , boost::bind( std::less<int>() , boost::bind(&X::a, _1) , boost::bind(&X::a, _2) ) ); and with boost.lambda: std::sort( v.begin() , v.end() , bind(&X::a, _1) < bind(&X::a, _2) ); HTH, -- Daniel Wallin

why do you want to sort ONLY on the 1st element of the pair? At Thursday 2004-03-25 11:34, you wrote:
Victor A. Wagner Jr. http://rudbek.com The five most dangerous words in the English language: "There oughta be a law"

At Friday 2004-03-26 09:57, you wrote:
if .first is unique (which it would be in your case) letting the standard operator< for std::pair<> suffices (unless one is extremely hyper about how "fast" things go).
Victor A. Wagner Jr. http://rudbek.com The five most dangerous words in the English language: "There oughta be a law"
participants (6)
-
Chris Jurney
-
Daniel Wallin
-
Deane Yang
-
Duane Murphy
-
Peter Dimov
-
Victor A. Wagner Jr.