title: Transform variadic template parameters to another types
body: <p>How to transform types from variadic template parameters to another type?</p>
  
  <p>For example:</p>
  
  <pre><code>template &lt;typename... T&gt;
  struct single
  {
     std::tuple&lt;T...&gt; m_single;
  };
  
  template &lt;typename... T&gt;
  struct sequences
  {
     single&lt;T...&gt; get(size_t pos)
     {
         // I don't know how to convert here
         return std::make_tuple(std::get&lt;0&gt;(m_sequences)[pos]... std::get&lt;N&gt;(m_sequences)[pos]);
     }
  
     template &lt;size_t Idx&gt;
     std::vector&lt;
        typename std::tuple_element&lt;Idx, std::tuple&lt;T...&gt;&gt;::type
        &gt;
     get_sequence()
     {
        return std::get&lt;Idx&gt;(m_sequences);
     }
  
     std::tuple&lt;T...&gt; m_sequences; // std::tuple&lt;std::vector&lt;T...&gt;&gt; I don't know how to conver here
  };
  </code></pre>
  
  <p>I want to write so:</p>
  
  <pre><code>sequences&lt;int, double, double&gt; seq;
  single&lt;int, double, double&gt; sin = seq.get(10);
  </code></pre>
  
  <p>And have <code>std::tuple&lt;std::vector&lt;int&gt;, std::vector&lt;double&gt;, std::vector&lt;double&gt;&gt;</code> in struct sequences. And get single from it.</p>
  
  <p><code>std::vector&lt;single&lt;T...&gt;&gt;</code> is bad idea for me, because i need get one sequence full to and it's easy to copy it from .</p>
  
  <p>Is it possible?</p>
  
  <p>Thank you very much. Sorry for my bad English.</p>