Subject: Re: [boost] Search a vector of tuples?
From: Robert Jones (robertgbjones_at_[hidden])
Date: 2012-04-12 04:36:30
On Wed, Apr 11, 2012 at 11:33 PM, Robert Dailey <rcdailey.lists_at_[hidden]>wrote:
> Is there a method in the boost library to iterate a vector of boost::tuple
> objects, comparing the 1st element in the tuple of each tuple to a value
> that I specify? My tuple is setup like so:
> typedef boost::tuple<int, int, char const*> Tuple;
> typedef std::vector<Tuple> ErrorStringMap;
> ErrorStringMap mystrings = tuple_list_of
> (10, "10", "ten")
> (20, "20", "twenty")
> (30, "30", "thirty")
> (10, "10", "ten");
> I want to search the vector of tuples and do something with every tuple
> that has the number 10 as the first element in the tuple.
*** Not Tested or Compiled ***
// ... and maybe some other range headers
for_each( mystrings | boost::adaptors::filtered( boost::bind( get<0>, _1 )
== 10 ), yourAction );
Just off the top of my head, no idea if that will really work.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk