Boost logo

Boost :

Subject: Re: [boost] Feature macro for putting things in the std namespace
From: Ion Gaztañaga (igaztanaga_at_[hidden])
Date: 2015-08-27 20:32:29


El 27/08/2015 a las 22:31, Mathias Gaunard escribió:
> 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 many boosters will be against Boost.Container practice, but I
would prefer fixing this supporting more standard libraries, just
including headers looking for forward declarations is really
heavyweight. A new standard library or new name versioning is not
something that happens every day.

The trick is that GCC has some namespace tricks depending on debug modes
and libc++ declares some types outside the inline namespace (to be ABI
compatible with GCC, like std::nothrow_t).

Of course, it would be even better if we could add a std forward
declaration library or utility to Boost that could be even updated with
standard library maintainers that want to contribute.

Best,

Ion


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk