I currently have a function:
template
bool func(T &t, int x)
{
// do stuff...
}
However I would like to have thr
Use tag dispatching:
namespace details {
template
bool func( T& t, int x, std::true_type /* is_enum */, std::false_type ) {
}
template
bool func( T& t, int x, std::false_type, std::true_type /* unsigned char */ ) {
}
template
bool func( T& t, int x, std::false_type, std::false_type ) {
// neither
}
}
template
bool func( T& t, int x ) {
return details::func( t, x, std::is_enum{}, std::is_same{} );
}