   Can you specialize a template to an enum class?
  I want one function to be called when the type is enum, and another to be called when it's not.  I tried this but it didn't work:---------------------------------------------------template <typename _T>void Func(_T t) {System::Console::Write("No");}template <enum _T>void Func(enum _T t) {System::Console::Write("Yes");}int main(){int i = 0;Func(i);enum EBlah { e1, e2 };EBlah ee = e1;Func(ee);    return 0;}----------------------------------------Both calls to Func just called the general one.  Clearly not the correct way..  However I know there must be some way to do this, because Boost implements an "is_enum" bit of magic.  I couldnt dissect what it does though from the nest of macros that make up its code.  Anyone know how to do this?Thanks!-John   
  boost::is_enum basically checks to see if the type is convertible to the integral types but isn't one of the primitive types or a class/struct. However, you should probably just use boost::is_enum to implement your template; no use reinventing the wheel.   ;  Ah yep, thats what I ended up doing.  Not as pretty as I hoped, but it works. Thanks!   