title: Variadic template parameters of one specific type
body: <p>Why there is no specific type allowed in a variadic template pack?</p>
  
  <pre><code>template&lt; typename T &gt;
  class Foo
  {
  public:
      template&lt; typename... Values &gt;
      void bar( Values... values )
      {
      }
  
      template&lt; T... values &gt;            &lt;-- syntax error
      void bar( T... values )
      {
      }
  
      template&lt; int... values &gt;          &lt;-- syntax error
      void bar( int... values )
      {
      }
  };
  </code></pre>
  
  <p>Whats the rationale in <em>not</em> allowing this?<br>
  Are there proposals for this?</p>
  
  <hr>
  
  <p>Note: alternatives would be</p>
  
  <ul>
  <li><code>std::initializer_list&lt; T &gt;</code> without narrowing of types and the <code>{ }</code>-brace-syntax</li>
  <li>a (ugly) recursive trait that checks all types seperately: <a href="https://stackoverflow.com/questions/13636290/variadic-template-of-a-specific-type">see here</a></li>
  </ul>