C++ STL-Like Algorithm Libraries

Conor Hoekstra · September 9, 2020

I recently watched the extended version of Sean Parent’s amazing C++ Seasoning talk, which was given at Amazon’s A9 and posted on the A9 YouTube Channel. I highly recommend the extended version, which can be watched in two parts:

At one point in the talk, Sean points out that the STL is far from complete and that you should write your own algorithm if it isn’t there. This is a point that Marshall Clow, maintainer of the libc++ standard library, dedicated a whole talk to at CppCon 2016.

Sean also mentions at another point in the talk that the ASL, Adobe Standard Library, itself has a number of algorithms added on top of the STL algorithms provided in the standard library.

This got me wondering, what are all the C++ STL-like open source libraries out in the wild and how many have additional algorithms? The ones that I knew off the top of my head were:

Then I went and did some searching and came across:

But that was it. Note that BSL has it’s own very unique style that is furthest away from the STL. But the rest look and feel very STL-like / Stepanov inspired. My question to the readers is do you know any that aren’t listed in the four above? I plan to write a follow up blog post in the near future post-CppCon 2020 that takes a look at some of the algorithms that exist outside of the C++ STL, but before I do that I would love to have a comprehensive list.

If you know of any libraries, either let me know on Twitter or comment on the corresponding Reddit post. As new libraries are mentioned, I will add them to the list below.

Update: many suggestions fit into different categories, so I have done my best to categorize them below.

Full List of C++ STL-Like Libraries

General

Concurrency and Parallelism

Functionally Composable

Domain Specific

Other Programming Languages

Hope to virtually see you at CppCon 2020!

Twitter, Facebook