Boost logo

Boost :

From: Edward Diener (eldiener_at_[hidden])
Date: 2020-09-21 17:37:19


Since we are reviewing Vinnie Falco's JSON library I thought that this
would be a good time to present a proposal to add information to each
Boost library's meta/libraries.json file regarding the level of C++
standard compliance for that library. This could then be added to each
library's visual documentation so that end-users would instantly know
the C++ standard level they would need to use in order to use a Boost
library.

My proposal is to add 3 fields whose data would be the same as the
cxxstd allowed values from Boost Build, using the first value of each
choice ( currently 03, 11, 14, 17, 20 ).

standard = minimum C++ level for the library
extended = same functionality in the library as the minimum C++ level
but with extended use given higher C++ levels
required = new functionality in the library above the minimum C++ level
which requires given higher C++ levels

The 'standard' field would be a single value, while the 'extended' or
'required' fields could be more than one comma separated value. If you
don't like the names for 'standard', 'extended', or 'required' you can
bikeshed the name, although I think the 'standard' name is pretty well
apparent.

The idea is to provide this information in the meta/libraries.json field
for each library, so that the end-user of the library can immediately
know the usability of the library with appropriate C++ standard levels
of compilation.

I realize that the line between the 'extended' and 'required' entries,
as I have described them, could be blurred. The 'standard' field remains
the most important. I have long felt that the end-user should not have
to do any investigation, in code or in documentation, just to determine
if a library is usable for his C++ standard level of compilation.


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