This is called partial specialization and can be encoded as follows:
template <typename T>
struct Widget
{
};
template <typename N>
struct Widget< TemplateThatAcceptsParameter<N> >
{
};
It works like a normal specialization, but has an additional template argument.
source
share