
On 16 February 2011 09:40, John Maddock <boost.regex@virgin.net> wrote:
libc++ does not allow forward declarations of types for std:: , as it uses inline namespace to allow versioning.
Forward declarations occur in many libraries (config, fusion, interprocess). In each case I would like to just include the actual headers.
I could just #define all cases for LIBCPP, but other libraries might move to using inline namespaces in future, so I could introduce a macro?
I think that sounds a reasonable addition, yes. Do you have patches?
IMO it should be a macro that's defined when forward declaration is possible rather than when it isn't. That way the default would be the safer option. I now think it was a mistake to forward declare for unknown setups in 'container_fwd.hpp'. Daniel