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
) 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.