#include <iostream>
template<typename T>
struct A
{
bool IsTEnum()
{
// TODO : implement
return false;
}
void printIsEnum()
{
if(IsTEnum())
{
printf(" is an enum\n");
}
else
{
printf(" is not an enum\n");
}
}
};
enum MyEnum
{
MyEnumValue1,
MyEnumValue2,
MyEnumValue3,
};
int main()
{
A<float> aFloat;
A<MyEnum> aEnum;
printf("float...");
aFloat.printIsEnum();
printf("MyEnum...");
aEnum.printIsEnum();
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKCnRlbXBsYXRlPHR5cGVuYW1lIFQ+CnN0cnVjdCBBCnsKCWJvb2wgSXNURW51bSgpCgl7CgkJLy8gVE9ETyA6IGltcGxlbWVudAoJCXJldHVybiBmYWxzZTsKCX0KCQoJdm9pZCBwcmludElzRW51bSgpCgl7CgkJaWYoSXNURW51bSgpKQoJCXsKCQkJcHJpbnRmKCIgaXMgYW4gZW51bVxuIik7CgkJfQoJCWVsc2UKCQl7CgkJCXByaW50ZigiIGlzIG5vdCBhbiBlbnVtXG4iKTsKCQl9Cgl9CQp9OwoKZW51bSBNeUVudW0KewoJTXlFbnVtVmFsdWUxLAoJTXlFbnVtVmFsdWUyLAkKCU15RW51bVZhbHVlMywJCn07CgppbnQgbWFpbigpCnsKCUE8ZmxvYXQ+IGFGbG9hdDsKCUE8TXlFbnVtPiBhRW51bTsKCQoJcHJpbnRmKCJmbG9hdC4uLiIpOwoJYUZsb2F0LnByaW50SXNFbnVtKCk7CgoJcHJpbnRmKCJNeUVudW0uLi4iKTsKCWFFbnVtLnByaW50SXNFbnVtKCk7CgkKCXJldHVybiAwOwp9