IIRC it's `class` in SGI's STL and most other implementations. The state
for similar warnings for the compilers that I've looked at:
- Visual C++ never warns because I used a pragma to disable the warning.
- GCC never warns with its standard library since it contains a
`system_header` pragma. It might warn for other libraries.
- Clang respects GCC's pragma so it never warns for GCC's standard
library. Forward declarations are disabled for libc++ so this isn't an
issue there. It does warn when using Dinkumware and possibly other
standard libraries.
I'm tempted to make container forwarding 'opt-in' rather than 'opt-out'.
Or maybe only enable for compiler/library combinations where it's known
to work.
[SVN r75561]
Have a separate config stage, which by default disables forward
declaration of containers. Also add a test to check that if it is
disabled correctly.
Removed forward declaration of std::pair - since it's almost always
included by `<utility>`.
[SVN r72990]
On Linux, GNU's libstdc++, which is the default stdlib for icc and clang,
cannot parse the <iomanip> header in version 4.5+ (which thankfully neither
compiler advises the use of yet), as it's original C++98-friendly
implementation has been replaced with a gnu++0x implementation.
<boost/detail/iomanip.hpp> is a portable implementation of <iomanip>, providing
boost::detail::setfill, boost::detail::setbase, boost::detail::setw,
boost::detail::setprecision, boost::detail::setiosflags and
boost::detail::resetiosflags.
[SVN r68140]
contains an iomanip header which uses C++0x features that only GCC supports,
causing breakage with ICC and Clang. Also added a test, but I'm not sure how to
set it up to be run by the testing machines.
[SVN r67111]