Opened 7 years ago
#11595 new Bugs
boost container forward declares names from the std namespace illegally
Reported by: | Mathias Gaunard | Owned by: | Ion Gaztañaga |
---|---|---|---|
Milestone: | To Be Determined | Component: | container |
Version: | Boost 1.58.0 | Severity: | Problem |
Keywords: | Cc: |
Description
Header <boost/container/detail/std_fwd.hpp> forward-declares stuff from the std namespace, which is illegal as per the C++ standard. It tries to detect the standard library to know it can do it safely, but this is imperfect and fails on more exotic standard library implementations.
Code should be modified so that it falls back to including the right headers if dealing with an unknown standard library.
It should also use better standard library detection logic based on boost.config instead of checking directly for libc++ and libstdc++ defines (indeed, some standard libraries sit on top of others, like STLPort).