
On 16 February 2011 07: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.
As others have noted, in principle this isn't std conforming, just useful.
I find forwarding of std::containers very useful, and have needed to write my own in the past (of course, nonportable). There's are a big overlap in different boost libraries that does the same, and for users such as myself. Can't this be taken one step further, and introduce something like boost/details/stdfwd.hpp, or maybe boost/stdfwd.hpp? In the case where forwarding is not possible, stdfwd.hpp would have to include all std::containers - Christian