Subject: Re: [boost] [range] #11202: boost.sort header conflicts with boost.range header
From: Steven Ross (spreadsort_at_[hidden])
Date: 2018-09-07 22:07:32
On Mon, Sep 3, 2018 at 10:09 AM degski via Boost <boost_at_[hidden]> wrote:
> On Mon, 3 Sep 2018 at 16:21, Peter Dimov via Boost <boost_at_[hidden]>
> > Edward Diener wrote:
> > > Although it is discouraged I think allowing function, template, and
> > class
> > > names directly in the boost namespace should be allowed when those names
> > > mimic std:: names, but with Boost functionality. I think Boost should
> > > avoid as much as possible using namespace names which are the same as
> > > std:: functions, templates, and classes.
> > This is impractical. New names appear in std:: every three years, it's not
> > possible to predict in advance whether a library name will match a
> > standard
> > identifier. It worked in the past when C++98 was all we had, it doesn't
> > work
> > now.
> I think that as hardly any Boost library that was adopted in the standard
> actually complies (sometimes more, sometimes less and sometimes just
> different) with the standard, the boost namespace should be enough warning
> that we are talking about something else than whatever is in the standard.
> So boost should simply do what it thinks is best from its perspective,
Right. It would be ridiculous to rename an entire library because of
a single using declaration that conflicts with the boost namespace
policy, and basing things on the contents of std:: is silly; how many
people do both "using boost" and "using std"? Such broad using
declarations hide what people are actually using. Removing the using
range::sort is simple and will only require people specifically using
it to specify a longer name. I'm not advocating eliminating all the
using declarations in the boost namespace range has.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk