
GCC 4.3 and even more so 4.4 have implemented significant portions of the C++0x core language, and provide lots of C++0x standard library components too. Microsoft 2010 beta 1 will ship "real soon", and it too will have some major C++0x core language features, and also some C++0x standard library components. Thus we need more config macros, particularly those aimed at the standard library. A possible approach: BOOST_NO_CONCEPTS // needed to tell if headers have been conceptized BOOST_NO_*_HDR // for each new C++0x header; * is name of header For example, BOOST_NO_CHRONO_HDR is defined unless header <chrono> is present. I'm proposing we not try to identify whether or no the header is complete. If BOOST_NO_CONCEPTS is defined, the header obviously hasn't been conceptized. Ditto anything else that depends on any other new core language feature that hasn't been implemented. Other incomplete aspects will have to be dealt with by testing the library version. We don't want feature macros to proliferate unduly; they are more work to create and maintain than you might think, and if there are a lot of them it gets very confusing. Comments? --Beman