|
Boost : |
From: pbristow_at_[hidden]
Date: 2020-09-23 08:38:56
> -----Original Message-----
> From: Boost <boost-bounces_at_[hidden]> On Behalf Of Hans Dembinski via Boost
> Sent: 23 September 2020 08:53
> To: Boost Devs <boost_at_[hidden]>
> Cc: Hans Dembinski <hans.dembinski_at_[hidden]>
> Subject: Re: [boost] Proposal for adding C++ level to the meta/libraries.json
>
>
> > On 23. Sep 2020, at 08:54, Spencer Collyer via Boost <boost_at_[hidden]> wrote:
> >
> > Maybe use 'enhanced' (or 'enhanced_by') rather than 'required'. Or 'added_value'?
>
> +1 for 'enhanced'.
I'm not sure about 'enhanced'. What the metadata is saying is 'some library features require up to
C++20'.
Why not just give a *range of requirements* for example: "C++11 to C++17"?
Of course what would be much more helpful, but a massive lot more work would be to list the
requirements in Boost-style descriptors,
for example,
cxx11_lambdas
cxx11_auto_declarations ...
These are derived from
https://www.boost.org/doc/libs/1_74_0/libs/config/doc/html/boost_config/boost_macro_reference.html
and how to use them
https://www.boost.org/doc/libs/1_74_0/libs/config/doc/html/boost_config/build_config.html
For example a line from \boost\libs\math\test\Jamfile.v2 noting the 'requires'
[ run test_1F0.cpp ../../test/build//boost_unit_test_framework : : :
[ requires cxx11_auto_declarations cxx11_lambdas cxx11_unified_initialization_syntax
cxx11_smart_ptr ] ]
# hypergeometric_pFq_checked_series.hpp uses auto, the rest are from quadrature tests.
We might consider adding these requirement to the JSON metadata, but when they vary from library
sub-feature like function, it would be duplicating what can be deduced from consulting the tests in
jamfiles. (And more work than I feel is worthwhile).
Paul
PS
> Apart from the minimum, it is useful for lib authors to advertise that they support newer
standards as well.
Don't we always expect (well - hope for) a C++03 library to still work with C++20?
(It might take a BOOST_ macro to hide differences).
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk