#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;
}