Boost logo

Boost :

Subject: Re: [boost] Libraries and C++ compliance
From: Beman Dawes (bdawes_at_[hidden])
Date: 2017-04-10 10:57:09


On Sun, Apr 9, 2017 at 10:24 PM, Edward Diener via Boost <
boost_at_[hidden]> wrote:

> I would like to ask people who present new libraries to Boost, in whatever
> stages they are, to please specify in the documentation to the library
> and/or in messages regarding the library, what level of C++ compliance is
> needed to use the functionality of that library. This plea is not being
> directed at any particular current library being mentioned by anyone on the
> mailing list, but is a general plea regarding developers and their efforts.
>
> I realize it is a real pain that C++ as a language, and as it continues to
> evolve, has a number of popular levels of C++ compliance. This is largely
> because C++ is offered by a number of different vendors in a number of
> different supported releases, each particular implementation supporting a
> number of levels of C++ compliance and sometimes only partially supporting
> a particular level of C++ compliance. But given this sometimes difficult
> situation I do not see it as enough for library docs/information to simply
> say "this library supports some-vendor/some-release" because this is
> actually fairly meaningless to me when I know that
> "some-vendor/some-release" supports a number of levels of C++ compliance
> through some compiler parameter ( often -std=something ). Therefore
> docs/information of "the library supports "some-implementation" or "the
> library is compliant with "more than one level of C++ compliance" tells me
> as much as if some one told me that the moon is yellow. So I am begging,
> pleading, entreating library authors to be specific about the C++ features
> or the C++ level of compliance needed to use their library, even if it is
> just a one-liner that succinctly explains what the end-user needs to know.
>
> Furthermore, for any given library could we please have specific
> information about what will happen if I use the library, or some feature of
> the library, without the desired minimum level of C++ compliance. While I
> would assume compile-time compiler errors as the norm another possibility,
> especially given the excellent support in Boost Config to compiler
> conformance, are more readable preprocessor errors. Finally a library might
> offer some level of advanced C++ compliance but fall back to a lower level
> if possible.
>
> Please, please library authors this is important. No end-user or tester of
> your library wants to spend extended time trying to figure out why some
> compile fails when the answer turns out simply to be one of inadequate C++
> conformance level for a particular compiler implementation being used with
> a particular level of conformance.
>
>
+1

The requirements described above need to be added to the
http://www.boost.org/development/requirements.html hierarchy, too.

--Beman


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