Possible Duplicate:
How to determine the version of the C++ standard used by the compiler?
Is there a way for your program to determine this at compile time? Are there preprocessor macros you can use?
I know that g++ has this nice matrix of c++0x/c++11 feature support. Does this exist for other popular compilers? Are there any standard (de facto or otherwise) ways to use the preprocessor to test for the existence of a given feature?
There is a question about this, but the answers do not seem very complete: How to determine the version of the C++ standard used by the compiler?
I know Boost.Config does this, but how does it do it? It might be nice to know if I don't want to use Boost for whatever reason.
I'm closing this as a duplicate because someone edited one of the answers in the original question to be much more complete.