Tim - 2008-09-11

I also would like to see a tool for determining whether a template argument is an enumeration; in particular, TypeTraits<>::ParameterType for an enum type is somewhat incorrect at present because it will use a const reference instead of a copy, which might be more efficient if pointers are longer than the enum's size: for example, if addresses are 32-bits and the word size is 16 bits, then a const reference will need 32 bits of space, but an enum with values within [0,65,535] could be optimized by the compiler to use only one word of space.

Could something be done with static_cast<> perhaps?