Template specialization

If we want to define a different implementation for a template when a
specific type is passed as template parameter, we can declare a
specialization of that template.