template <typename T1, typename T2> struct IsSameType { static bool const is = false; };
template <typename T> struct IsSameType<T, T> { static bool const is = true; };

#include <iostream>
using namespace std;

int main() {
	std::cout << IsSameType<char, unsigned char>::is << std::endl;
}