なんとなく思いついたもの

class WhiteSpace {};
inline bool operator==( const char lhs, const WhiteSpace& rhs )
{
	return ( lhs == ' ' ) || ( lhs == '\t' ) || ( lhs == '\n' ) || ( lhs == '\r' ); // etc...
}
// usage
// if( ch == WhiteSpace() ) { ... }

あまりきれいじゃないですが、多分こういうのもありということで。なんかboost::spiritあたりがこういうことしてるかも。いや、多分もっと変態的な実装なんだろうなぁ。