I presented a plan for how to technically transition to a C++ 14 only Boost 2.0 at my C++ Now 2015 presentation:
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
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'?
Le 21/05/2016 à 15:23, Hartmut Kaiser a écrit : the -
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