title: Boost MPL list of templates
body: <p>I want to take a list of <em>class templates</em>, T<sub>1</sub>, T<sub>2</sub>, ... T<sub>N</sub> and have a list an MPL list of classes, where each template is instantiated with the same parameter.</p>
  
  <p><code>boost::mpl::list</code> cannot be used with a list of template template parameters, just regular type parameters.</p>
  
  <p>So the following does not work:</p>
  
  <pre><code>class A { ... };
  
  template&lt;template &lt;class&gt; class T&gt;
  struct ApplyParameterA
  {
      typedef T&lt;A&gt; Type;
  }
  
  typedef boost::mpl::transform&lt;
      boost::mpl::list&lt;
          T1, T2, T3, T4, ...
      &gt;,
      ApplyParameterA&lt;boost::mpl::_1&gt;::Type
  &gt; TypeList;
  </code></pre>
  
  <p>How can I make it work?</p>