#include #include #include #include"print_vector.h" using namespace std; template bool all(vector v, Func pred) { return accumulate( v.begin(), v.end(), true, [&] (bool acc, T val) { return acc && pred(val); } ); } int main() { vector nums = {1,2,3,4,5,6}; cout << all(nums, [] (int n) { return n > 0; }) << endl; cout << all(nums, [] (int n) { return n % 2 == 0; }) << endl; return 0; }