#include <iostream>
#include <algorithm>
#include <functional>

int main()
{
	bool foo = false;
	auto b = std::bind2nd(foo ? std::function<bool(int,int)>(std::greater<int>()) : std::function<bool(int,int)>(std::equal_to<int>()), 2);
	std::cout << b(4) << std::endl; // true, 4 > 2
}
