Boost logo

Boost :

From: Oliver Kowalke (oliver.kowalke_at_[hidden])
Date: 2022-12-08 17:05:13


Coroutine (superseded by Coroutine 2) - unfortunately boost.asio depends
on boost.coroutine

I asked last year to cut this dependency by introducing the new lib
boost.spawn (depends only on boost.context) and to remove
boost::asio::spawn().

Am 06.12.22 um 09:48 schrieb Rainer Deyke via Boost:
> On 06.12.22 01:21, Vinnie Falco via Boost wrote:
>> 2. A streamlining of Boost. We need ideas on how to address the issues
>> raised by users. Just thinking out loud this could include breaking
>> Boost up into several smaller libraries, e.g. "core" boost, "math"
>> boost, "network" boost, "C++03 boost". Work on documentation that most
>> people agree is poor or is a pain point for users. There has been a
>> lot of discussion about this so I won't repeat it here.
>
> I think a good first step would be to separate out "legacy" libraries
> - libraries that exist and will continue to be maintained for users of
> the library, but which are no longer recommended for new code
> targeting the latest C++ standard.
>
> 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)
>   Compatibility (only exists to support obsolete compilers)
>   Concept Check (superseded by C++20 concepts)
>   Coroutine (superseded by Coroutine 2)
>   Coroutine 2 (superseded by C++20 coroutines)
>   Enable If (superseded by std::enable_if)
>   Filesystem (superseded by std::filesystem)
>   Foreach (superseded by range-based for)
>   Function (superseded by std::function)
>   Function Types (superseded by Callable Traits)
>   Iterator (superseded by Stl_interfaces)
>   Lambda (superseded by lambda expressions and Lambda2)
>   Move (superseded by std::move)
>   MPL (superseded by Mp11)
>   Optional (superseded by std::optional)
>   Phoenix (superseded by lambda expressions)
>   Range (superseded by std::ranges)
>   Ratio (superseded by std::ratio)
>   Result Of (superseded by decltype)
>   Smart Ptr (largely superseded by std::shared_ptr and std::unique_ptr)
>   Spirit Classic (superseded by Spirit)
>   Static Assert (superseded by static_assert)
>   String Ref (superseded by std::string_view)
>   Thread (superseded by std::thread)
>   Tuple (superseded by std::tuple)
>   Type Traits (superseded by <type_traits>)
>   Typeof (superseded by decltype)
>   Variant (superseded by Variant2 and std::variant)
>
> If they offer significant advantages over their standard counterparts,
> let them state those advantages front and center in their
> documentation.  If they don't, let them by removed from the main
> libraries page onto a separate "legacy libraries" page.
>
>


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