#include <iostream>
#include <functional>
#include <vector>
#include <algorithm>
bool my_func1()
{
return true;
}
bool my_func2()
{
return false;
}
bool my_func3()
{
return true;
}
bool my_func4()
{
return false;
}
int main()
{
std::vector<std::function<bool()>> functions = {
my_func1,
my_func2,
my_func3,
my_func4
};
unsigned long failure =
std::count_if(functions.begin(), functions.end(),
[](const std::function<bool()>& function) { return !function(); });
std::cout << "There was " << failure << " failures." << std::endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8ZnVuY3Rpb25hbD4KI2luY2x1ZGUgPHZlY3Rvcj4KI2luY2x1ZGUgPGFsZ29yaXRobT4KCmJvb2wgbXlfZnVuYzEoKQp7CglyZXR1cm4gdHJ1ZTsKfQoKYm9vbCBteV9mdW5jMigpCnsKCXJldHVybiBmYWxzZTsKfQoKYm9vbCBteV9mdW5jMygpCnsKCXJldHVybiB0cnVlOwp9Cgpib29sIG15X2Z1bmM0KCkKewoJcmV0dXJuIGZhbHNlOwp9CgppbnQgbWFpbigpIAp7CglzdGQ6OnZlY3RvcjxzdGQ6OmZ1bmN0aW9uPGJvb2woKT4+IGZ1bmN0aW9ucyA9IHsKCQlteV9mdW5jMSwKCQlteV9mdW5jMiwKCQlteV9mdW5jMywKCQlteV9mdW5jNAoJfTsKCQoJdW5zaWduZWQgbG9uZyBmYWlsdXJlID0gCgkJc3RkOjpjb3VudF9pZihmdW5jdGlvbnMuYmVnaW4oKSwgZnVuY3Rpb25zLmVuZCgpLCAKCQkJW10oY29uc3Qgc3RkOjpmdW5jdGlvbjxib29sKCk+JiBmdW5jdGlvbikgeyByZXR1cm4gIWZ1bmN0aW9uKCk7IH0pOwoJc3RkOjpjb3V0IDw8ICJUaGVyZSB3YXMgIiA8PCBmYWlsdXJlIDw8ICIgZmFpbHVyZXMuIiA8PCBzdGQ6OmVuZGw7CglyZXR1cm4gMDsKfQ==