 specialisation of a template class is
an important technique, sometimes we need a solution that is
halfway between a fully generic solution, and a full
specialisation. This is exactly the situation for which the
standards committee defined partial template-class specialisation.
As an example, consider the class boost::is_pointer&lt;T&gt;:
here we needed a primary version that handles all the cases where
T is not a pointer, and a partial specialisation to handle all
the cases where T is a pointer:</p>

<pre