Thanks to features like concepts, C++20 promised to make template meta-programming more approachable and expressive, especially for library designers. But as we quickly learned, template programming can still be surprising or frustrating — in the worst-case scenario, it's both.
In this talk, I’ll share lessons from the past 3–4 years of building high-performance, user-friendly C++ libraries, including:
We’ll explore the practical challenges of designing ergonomic C++ APIs:
We'll discuss how C++20 features helped us reduce friction and increase clarity once we use them properly.
If you’ve ever screamed into the void over template errors, please join in!