n//primary class
template
ntemplate <class
TYPE1, int sz, template<TYPE1> class TYPE2>
n class list {...}
n//partial
specialization
ntemplate <class
TYPE1, int sz, template<TYPE1> class TYPE2>
n class list <TYPE1 *,sz,TYPE2>
{...}
n//partial
specialization
ntemplate <int sz,
template<TYPE1> class TYPE2>
n class list<list,
sz,TYPE2<list>>{...}
n
n//partial
specialization
ntemplate
<template<TYPE1> class TYPE2>
n class
list<list,100,TYPE2<list>>{...}
n
n//explicit
specialization
ntemplate <> class
list<list,100,list<list>>{...}
n