Boost logo

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