Substitution-Failure-Is-Not-An-Error (SFINAE) is decribed in CppTemplatesTheCompleteGuide p.106 and also in CppCommonKnowledge Item 59 p.217. ''This [...] principle is clearly an important ingredient to make the overloading of function templates practical.'' There is also a page on this on WikiPedia: *** http://en.wikipedia.org/wiki/Substitution_failure_is_not_an_error One of the CeePlusPlusIdioms ---- This page may not reflect changes in C++11(CeePlusPlusEleven) and C++14(CeePlusPlusOneWhy). ---- CategoryCpp CategoryCppTemplates CategoryIdiom