ALall2·Dec 5, 2018
https://github.com/MicrosoftDocs/cpp-docs/blob/master/docs/c...
> Multiple function templates that match the argument list of a function call can be available. C++ defines a partial ordering of function templates to specify which function should be called. The ordering is partial because there can be some templates that are considered equally specialized.
> The compiler chooses the most specialized template function available from the possible matches.
And it goes on to give an example.
In Using D to Create the World’s Fastest File System