Boost logo

Boost :

Subject: Re: [boost] Boost is supposed to serve *the entire C++ community; it isn't Boost's goal to serve Boost's community*
From: Hartmut Kaiser (hartmut.kaiser_at_[hidden])
Date: 2016-05-21 12:53:11


> Le 21/05/2016 à 15:23, Hartmut Kaiser a écrit :
> >>> I presented a plan for how to technically transition to a C++ 14 only
> >>> Boost 2.0 at my C++ Now 2015 presentation:
> >>>
> >>> https://goo.gl/VFFXUl
> >>>
> >>> The talk was well attended, and by much of the more senior Boost
> >>> community members.
> > What does it mean 'a library is C++14 only'?
> I suspect it means to support >=C++14 compilers only.
> > Does that mean I'm allowed to use only features which have been added by
> > C++14?
> Not for me. For me it means it uses ar least one C++14 feature and needs
> a C++14 compiler. The library doesn't supports C++11 compiler nor C++14
> compilers that don't support the used feature.
> > Or does that mean a library is allowed to use all features defined in
> the
> > C++14 standard?
> This one. This doesn't mean that it uses all of them, just that the
> author wants the freedom of using them.
> >
> > If the former, then am I still allowed to use 'int' and 'for'?
> -
> > If the latter, Boost is already C++14 only (afaict, no library uses
> C++17
> > features yet).
> No in my view.

Why not? If a library is allowed to use all features as defined by C++14 it
is - by extension - allowed to use C++98 features as well. But this does not
mean that it is _required_ to use C++14. Thus, Boost as it is today, is
C++14 only (it does not use anything outside of it).

> > Go figure. So let's drop this nonsense of declaring something C++14
> only.
> >
> Tell me if my alternative view of what "C++14 only" could mean change
> your view.

As said, I find the classification of a library as being 'C++14 only' to be
completely useless.

> Wether we want a "C++14 only" Boost version is another thing.

So in your view 'C++14 only Boost' means that it will not compile with
compilers which don't support C++14.
Wouldn't it be better to talk about minimal _compiler_ requirements instead
of maximal _library_ allowances?

In my view talking about this as 'library requires C++14 compiler support'
would make much more sense.

Regards Hartmut
---------------
http://boost-spirit.com
http://stellar.cct.lsu.edu


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