Boost logo

Boost :

From: Rainer Deyke (rdeyke_at_[hidden])
Date: 2022-12-06 18:35:45


On 06.12.22 17:52, Peter Dimov via Boost wrote:
> Rainer Deyke wrote:
>> At a first glance, the following libraries would have to justify their continued
>> existence as "core" Boost libraries:
>>
>> Any (superseded by std::any)
>> Array (superseded by std::array)
>> Assign (superseded by std::initializer_list)
>> Atomic (C++11 feature emulation library)
>> Bind (superseded by lambda expressions)
>> Chrono (superseded by std::chrono)
> ...
>
> This gets us back to our never-ending discussion of Boost dropping C++03 support.

I'm not advocating that any of these libraries are dropped, or even
deprecated. I am just advocating that they are pushed into the
background a bit.

A more neutral approach would be to give each library a range of C++
standards for which the library is useful, and allow the user to filter
by the C++ standard they are using. Picking C++11, for example, would
filter out both Atomic (because it is superseded by the standard
library) and Describe (because it requires C++14).

> I'm sure this time it will be more productive than our last three attempts.
>
> Incidentally, std::any is C++17, so classifying Any as "legacy" implies everyone
> uses C++17 or better. (You also have "superseded by C++20" further down the
> list, which is even less justifiable.)

It shouldn't be controversial to advocate that new application code
should use the newest C++ standard where possible. And for where that's
not possible, the legacy libraries will still be available.

-- 
Rainer Deyke (rainerd_at_[hidden])

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