Boost logo

Boost :

From: Peter Dimov (pdimov_at_[hidden])
Date: 2024-11-05 19:42:01


I recently needed to make use of std::array in a constexpr context,
and was rudely informed by the compilers that a lot of its features
are only constexpr in C++17 (non-const access) or even C++20 (operator==).

This makes the standard std::array not very useful in C++14 constexpr
code.

Ordinarily, the way we deal with such problems is to shadow the standard
component in Boost.Compat and backport all features introduced in later
standards. But in this specific case, we already have boost::array, and it
makes no sense to introduce another one.

boost::array, however, looks mostly abandoned. The thinking there was
probably that it's rendered entirely obsolete by std::array, and that no
further development is warranted or required. But as outlined above, this
is not the case; there's still value in maintaining boost::array and keeping
it up to date.

I'd like to do something about that. If Array's current maintainer, Marshall,
agrees, I'd like to take over the maintenance of Boost.Array and do the
usual thing - port the documentation to AsciiDoc, expand the test suite,
add the necessary BOOST_CONSTEXPR/BOOST_CXX14_CONSTEXPR
annotations, add the features introduced by later standards such as
deduction guides and to_array, deprecate/remove the nonstandard parts
of boost::array that are no longer relevant in 2024, and so on.

Comments?


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