title: Partial specialization for/on template template parameters
body: <p>I'd appreciate help partially specializing a template (<code>Manufacturer</code>) for template template parameters? Here's my current (unsuccessful) attempt. </p>
  
  <pre><code>#include &lt;iostream&gt;
  
  enum FORMAT{ A , B };
  
  template&lt;typename D , FORMAT F&gt;
  struct Manufacturer
  {
      Manufacturer(){ std::cout &lt;&lt; "Generic" &lt;&lt; std::endl; }
  };
  
  template&lt;
          template&lt;FORMAT&gt; class D , FORMAT F
          &gt;
  struct Manufacturer&lt;D&lt;F&gt;,F&gt; : Manufacturer&lt;void,F&gt;
  {
      Manufacturer(){ std::cout &lt;&lt; "Specialization" &lt;&lt; std::endl; }
  };
  
  template&lt;FORMAT F&gt;
  struct Device : Manufacturer&lt;Device,F&gt;
  {
  };
  
  int main()
  {
      Device&lt;A&gt; device;
  }
  </code></pre>