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