Type trait to check whether some type is derived from a class template
<p>Please consider the following code snippet:</p>

<pre><code>template&lt;class A, class B&gt;
class c {};

template&lt;class D&gt;
class e
    : public c&lt;e&lt;D&gt;, /* some type depending on D */&gt;
{ }
</code></pre>

<p>Given a type <code>F</code>, how can I check whether there is some type <code>B</code> such that <code>F</code> is derived from <code>c&lt;F, B&gt;</code>?</p>

<p>Example: For <code>F = e&lt;D&gt;</code> there is some type <code>B</code> depending on <code>D</code> such that <code>F</code> is derived from <code>c&lt;F, B&gt;</code>.</p>