Hubs, intervals and math | The C++ Alliance
Hubs, intervals and math | The C++ Alliance
Hubs, intervals and math
Joaquín M López Muñoz
· Apr 2, 2026
During Q1 2026, I’ve been working in the following areas:
boost::container::hub
boost::container::hub
is a nearly drop-in replacement of
C++26
std::hive
sporting a simpler data structure and
providing competitive performance with respect to the de facto reference implementation
plf::hive
. When I first read about
std::hive
I couldn’t help thinking how complex the internal design of the container is, and wondered
if something leaner could in fact be more effective.
boost::container::hub
critically relies
on two realizations:
Identification of empty slots by way of
std::countr_zero
operations on a bitmask is extremely fast.
Modern allocators are very fast, too:
boost::container::hub
does many more allocations
than
plf::hive
, but this doesn’t degrade its performance significantly (although it affects
cache locality).
boost::container::hub
is formally proposed for inclusion in Boost.Container and will be
officially reviewed April 16-26. Ion Gaztañaga serves as the review manager.
using std::cpp 2026
I gave my talk
“The Mathematical Mind of a C++ Programmer”
at the
using std::cpp 2026
conference
taking place in Madrid during March 16-19. I had a lot of fun preparing the presentation and
delivering the actual talk, and some interesting discussions were had around it.
This is a subject I’ve been wanting to talk about for decades, so I’m somewhat relieved I finally
got it over with this year. Always happy to discuss C++ and math, so if you have feedback
or want to continue the conversation, please reach out to me.
Boost.Unordered
Written maintenance fixes
PR#328
PR#335
PR#336
PR#337
PR#339
PR#344
PR#345
. Some of these fixes are related
to Node.js vulnerabilities in the Antora setup used for doc building: as the number
of Boost libraries using Antora is bound to grow, maybe we should think of an automated
way to get these vulnerabilities automatically fixed for the whole project.
Reviewed and merged
PR#317
PR#332
PR#334
PR#341
PR#342
. Many thanks to
Sam Darwin, Braden Ganetsky and Andrey Semashev for their contributions.
Boost.Bimap
Merged
PR#31
std::initializer_list
constructor) and provided testing and documentation for this new
feature (
PR#54
). The original
PR was silently sitting on the queue for more than four years and it
was only when it was brought to my attention in a Reddit conversation that
I got to take a look at it. Boost.Bimap needs an active mantainer,
I guess I could become this person.
Boost.ICL
Recent changes
in libc++ v22
code for associative container lookup have resulted in the
breakage of Boost.ICL
My understanding is that the changes in libc++ are not
standards conformant, and there’s an
ongoing discussion
on that; in the meantime, I wrote and proposed a
PR
to Boost.ICL that fixes the problem (pending acceptance).
Support to the community
I’ve been helping a bit with Mark Cooper’s very successful
Boost Blueprint
series on X.
Supporting the community as a member of the Fiscal Sponsorship Committee (FSC).
All Posts by This Author
04/02/2026
Hubs, intervals and math
01/18/2026
Containers galore
10/09/2025
Working on Boost.Bloom roadmap
07/01/2025
Boost.Bloom ready for shipping in Boost 1.89
04/08/2025
New Boost library proposal and a talk on how to make C++ ranges faster
01/05/2025
New container in Boost.PolyCollection, additions to Boost.Mp11 and more
10/11/2024
Joaquín's Q3 2024 Update
07/06/2024
Joaquín's Q2 2024 Update
04/20/2024
Joaquín's Q1 2024 Update
01/10/2024
Joaquín's Q4 2023 Update
10/27/2023
Joaquín's Q3 2023 Update
View All Posts...