Partial template specialization

Allows customizing class and variable(since C++14) templates for a given category of template arguments.

# Defect reports

DRApplied toBehavior as publishedCorrect behavior
CWG 727C++98partial and full specializations not allowed inclass scopeallowed in any scope
CWG 1315C++98template parameter could not be used in non-typetemplate arguments other than id-expressionsexpressions ok as long as deducible
CWG 1495C++11the specification was unclear when involving parameter packthe specialization shall be more specialized
CWG 1711C++14missing specification of variable template partial specializationsadd support for variable templates
CWG 1819C++98acceptable scopes for definition of partial specializationmake partial specialization can be declaredin the same scope with primary templates
CWG 2330C++14missing references to variable templatesadd support for variable templates

# See also