Here’s an overview of some projects I have been working on the last few months. Doc Previews A Jenkins server is building “pull request doc previews” for multiple boost repositories. If any Boost author is interested in “doc previews” let me know. Specific previews: adding an Antora version to boostorg/url. Upgraded the server packages, apps, and operating system to Ubuntu 22.04. Mr. Docs has a dedicated server for docs testing. Debugged CI deployment issues there. JSON benchmarks http...
In spite of it being winter here, Boost.MySQL is presenting a new pool this year! This was one of the most requested features in the library, and will finally be generally available as an experimental feature in Boost 1.85. Connection pools manage tasks that are easy to get wrong, like reconnections, health checks and session cleanup. As they reuse physical connections, they also provide a nice efficiency boost. Using a pool is as simple as: boost::asio::awaitable<std::int64_t> get_n...
Over the last few months I have been mainly working on Boost.Beast and Boost.PropertyTree. Keeping Boost.Beast in Good Form I’ve recently taken on a more active role in maintaining Boost.Beast. To begin, I reviewed all the open issues to gain a better understanding of the project’s current state. In the course of this process, I successfully addressed several issues that did not necessitate significant refactoring. Here are a couple of contributions to the project that I find interesting: ...
Over the past few months I have been working on a number of libraries both for proposal to, and currently in Boost. New Libraries Charconv The Charconv (https://github.com/cppalliance/charconv) review period is scheduled for 15 - 25 Jan 2024. Directions for use with B2, VCPKG, and Conan are provided to allow for testing, and evaluation of the library. All feedback is welcome and appreciated. Reviews can be submitted to the mailing list or the Review Manager, Chris Kormanyos at e_float@yaho...
During Q4 2023, I’ve been working (mostly in collaboration with Chris) in the following areas: Boost.Unordered Implemented bulk visitation for boost::concurrent_flat_[map|set]. In short, bulk visitation visits a bunch of elements at once, so instead of writing: std::array<int, N> keys; ... for(const auto& key: keys) { m.visit(key, [](auto& x) { ++x.second; }); } we can do this: m.visit(keys.begin(), keys.end(), [](auto& x) { ++x.second; }); This functionality is no...