Subject: [boost] Feature macro for putting things in the std namespace
From: Mathias Gaunard (mathias.gaunard_at_[hidden])
Date: 2015-08-27 16:31:46


Hi all,

I'm working on providing support in Boost for a new standard library
provider, which happens to put some but not all of its symbols in the
'std' namespace.

As a result, opening the 'std' namespace and forward-declaring or
specializing things would not work.

It seems a number of Boost libraries do this (most notably
Boost.Container), with special code to deal with libc++ (since libc++
puts everything under an inline namespace).

I think it would make more sense to have a
BOOST_HAS_SYMBOLS_IN_STD_NAMESPACE feature macro that one could check to
tell whether it is possible or not to do that.

In the case of forward-declarations, the library would have to fall back
to including the appropriate headers if that feature macro is not set.

Is everyone on board with this?
Any recommendation for the name?