I know that this is not possible in standard C++, and I have seen no mention of it in the proposed new standard, but I was thinking it might be cool if they extended the functionality of switch to allow anything that implements the equality operator. this would require that each case needs to implicitly convert to the switched type, which is no big deal for std::string, as you all know, because const char pointers implicitly convert to std::string.
I'd love to hear comments on this.