cpp boosttemplate <typename InputIterator, typename Predicate>
bool match_all(InputIterator first, InputIterator last, Predicate pred)
{
return find_if(first, last, !pred(_1)) == 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_all(InputIterator first, InputIterator last, Predicate pred)
{
return find_if(first, last, !pred(_1)) == last;
}
int
main(int argc, char *argv[])
{
list<int> lst;
lst += 2, 3, 4;
if (match_all(lst.begin(), lst.end(), _1 > 1))
cout << "Pred matched all elements" << endl;
else
cout << "Pred did not matched all elements" << endl;
}