#include <iostream>
using namespace std;
template<typename T> // primary template
struct is_int : std::false_type
{};
template<> // explicit specialization for T = int
struct is_int<int> : std::true_type
{};
int main() {
std::cout << is_int<char>::value << std::endl; // prints 0 (false)
std::cout << is_int<int>::value << std::endl; // prints 1 (true)
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKdGVtcGxhdGU8dHlwZW5hbWUgVD4gICAvLyBwcmltYXJ5IHRlbXBsYXRlCnN0cnVjdCBpc19pbnQgOiBzdGQ6OmZhbHNlX3R5cGUKe307Cgp0ZW1wbGF0ZTw+ICAvLyBleHBsaWNpdCBzcGVjaWFsaXphdGlvbiBmb3IgVCA9IGludApzdHJ1Y3QgaXNfaW50PGludD4gOiBzdGQ6OnRydWVfdHlwZQp7fTsKCmludCBtYWluKCkgewogICAgc3RkOjpjb3V0IDw8IGlzX2ludDxjaGFyPjo6dmFsdWUgPDwgc3RkOjplbmRsOyAgLy8gcHJpbnRzIDAgKGZhbHNlKQogICAgc3RkOjpjb3V0IDw8IGlzX2ludDxpbnQ+Ojp2YWx1ZSA8PCBzdGQ6OmVuZGw7ICAgLy8gcHJpbnRzIDEgKHRydWUpCiAgICByZXR1cm4gMDsKfQ==