C++ has had the ability to create templates for a long time, which allows the programmer to create generic implementations of classes and functions, given a type. You can also, however, provide non-type parameters.
In C++17, you can now use auto to provide for generic, non-type template arguments. In this recipe, we will explore how to use this feature. This is important because it allows you to create more generic templates in your code.