>template &lt;typename T&gt; 
struct is_pointer 
{ static const bool value = false; };

template &lt;typename T&gt; 
struct is_pointer&lt;T*&gt; 
{ static const bool value = true; };</pre>

<p>The syntax for partial specialisation is somewhat arcane and
could easily occupy an article in its own right; like full
specialisation, in order to write a partial specialisation for a
class, you must first declare the primary template. The partial
specialisation contains an extra &lt;&#133;&gt; after the class
name t