I was learning about function templates and the tutorial said:
"Once a template is defined, the compiler can use the template to generate as many overloaded functions (or classes) as needed, each using different actual types!".
Is this true? Does that mean that a function template is just the compiler generating overloaded functions for different types? Does the compiler scan through your code checking if you made any user-defined types and then generates overloaded functions for those user-defined types?
Is that all there is to function templates or does the compiler do additional things?