cpp boosttemplate <typename InputIterator, typename Predicate>
bool match_any(InputIterator first, InputIterator last, Predicate pred)
{
return find_if(first, last, pred) != last;
}
#include <algorithm>
#include <iostream>
#include <list>
#include <boost/assign/std/list.hpp>
#include <boost/lambda/lambda.hpp>
using namespace std;
using namespace boost::assign;
using namespace boost::lambda;
template <typename InputIterator, typename Predicate>
bool match_any(InputIterator first, InputIterator last, Predicate pred)
{
return find_if(first, last, pred) != last;
}
int
main(int argc, char *argv[])
{
list<int> lst;
lst += 2, 3, 4;
if (match_any(lst.begin(), lst.end(), _1 > 3))
cout << "Pred matched at least one element" << endl;
else
cout << "Pred did not matched any elements" << endl;
}