How to decide if a template specialization exist : <p>I would like to check if a certain template specialization exist or not, where the general case is not defined.</p>

<p>Given:</p>

<pre><code>template &lt;typename T&gt; struct A; // general definition not defined
template &lt;&gt; struct A&lt;int&gt; {};   // specialization defined for int
</code></pre>

<p>I would like to define a struct like this:</p>

<pre><code>template &lt;typename T&gt;
struct IsDefined
{
    static const bool value = ???; // true if A&lt;T&gt; exist, false if it does not
};
</code></pre>

<p>Is there a way to do that (ideally without C++11)?</p>

<p>Thanks</p>
