checking for template class instantiations
<p>The program:</p>

<pre><code>#include &lt;iostream&gt;

#include &lt;type_traits&gt;

template &lt;class C&gt;
struct tmpl
{
};

int main(int, char*[])
{
  std::cout &lt;&lt; std::is_class&lt;tmpl&lt;int&gt; &gt;::value &lt;&lt; std::endl;
  std::cout &lt;&lt; std::is_class&lt;tmpl&lt;char&gt; &gt;::value &lt;&lt; std::endl;
  return 0;
}
</code></pre>

<p>outputs:</p>

<pre><code>1
1
</code></pre>

<p>But I'd like the compiler to figure out that the template classes <code>tmpl&lt;int&gt;</code> and <code>tmpl&lt;char&gt;</code> have not yet been instantiated and output <code>0</code>. Is it possible? Have I actually instantiated the class template <code>tmpl</code> in my example?</p>
