Boost logo

Boost Users :

Subject: [Boost-users] [lambda] Defining a predicate for std::find_if if the key to a std::map is std::pair
From: Ryan McConnehey (mccorywork_at_[hidden])
Date: 2009-09-24 00:09:44


I have the following std::map signature.

typedef std::pair<std::string, int> cPair;
typedef std::map<cPair, std::vector<classA> > cMap;
cMap myMap;

When entering values into the map, the std::string is the only part of
the key that needs to be unique. Upon retrieving map values both values
of the key need to be compared. I've tried to define my insert
comparison as follows, but am uncertain how to define the predicate with
boost::lambda.

std::string givenName = "some_text_value";
int givenInt = 3;
cMap::const_iterator itor = std::find_if( myMap.begin(), myMap.end(),
boost::lambda::bind( ??? , _1) == givenName );

What goes at the question marks?

Ryan


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net