Determining If A Template Specialization Exists


One C++17 problem I come across every now and then is to determine whether a certain class or function template specialization exists - say, for example, whether std::swap or std::hash can be used. I like to have solutions for these kind of problems in a template-toolbox, usually just a header file living somewhere in my project. In this article I try to build solutions that are as general as possible to be part of such a toolbox.

ACCU Overload Issue 173