## About me * Canadian * Licensed professional engineer * I like twisty puzzles  * Working in C++ for 4 years * On WG21 since 2023 * Run Winnipeg C++ Developers
Function overload resolution
Template specializations
Template argument deduction
Class template argument deduction
Conclusion
## C++ has pattern matching! * Function overload resolution * Template specializations * Template argument deduction * Class template argument deduction
## I read the standard so you don't have to * [over.match] * [temp.names], [temp.spec.partial], [temp.spec] * [temp.deduct] * [over.match.class.deduct], [dcl.type.class.deduct], [temp.deduct.guide] * Cppreference is also an amazing resource
## Takeaways * We already have pattern matching! * The general rules can be quite elegant * ...but the edge cases can get gnarly * Analogue reasoning about your code is a muscle * Get curious, exercise that muscle * Appreciate how far C++ has come
Thank you!
Braden Ganetsky
braden@ganets.ky
GitHub @k3DW