title: Initializing std::tuple from initializer list
body: <p>I'm wondering whether the tuple can be initialized by initializer list (to be more precise - by initializer_list of initializer_lists)? Considering the tuple definition:</p>
  
  <pre><code>typedef std::tuple&lt; std::array&lt;short, 3&gt;,
                      std::array&lt;float, 2&gt;,
                      std::array&lt;unsigned char, 4&gt;,
                      std::array&lt;unsigned char, 4&gt; &gt; vertex;
  </code></pre>
  
  <p>is there any way of doing the following:</p>
  
  <pre><code>static vertex const nullvertex = { {{0, 0, 0}},
                                     {{0.0, 0.0}},
                                     {{0, 0, 0, 0}},
                                     {{0, 0, 0, 0}} };
  </code></pre>
  
  <p>I just want to achieve same functionality I got using struct instead of tuple (thus only arrays are initialized by initializer_list):</p>
  
  <pre><code>static struct vertex {
      std::array&lt;short, 3&gt; m_vertex_coords;
      std::array&lt;float, 2&gt; m_texture_coords;
      std::array&lt;unsigned char, 4&gt; m_color_1;
      std::array&lt;unsigned char, 4&gt; m_color_2;
  } const nullvertex = {
      {{0, 0, 0}},
      {{0.0, 0.0}},
      {{0, 0, 0, 0}},
      {{0, 0, 0, 0}}
  };
  </code></pre>
  
  <p>There is no reason I must use tuples, just wondering. I'm asking, because I'm unable to go through g++ templates errors which are generated by my attempt of such tuple initialization.</p>
  
  <p>@Motti: So I missed the proper syntax for uniform initialization - </p>
  
  <pre><code>static vertex const nullvertex = vertex{ {{0, 0, 0}},
                                           {{0.0, 0.0}},
                                           {{0, 0, 0, 0}},
                                           {{0, 0, 0, 0}} };
  </code></pre>
  
  <p>and </p>
  
  <pre><code>static vertex const nullvertex{ {{0, 0, 0}},
                                  {{0.0, 0.0}},
                                  {{0, 0, 0, 0}},
                                  {{0, 0, 0, 0}} };
  </code></pre>
  
  <p>But it seems that all the trouble lies in arrays, which got no constructor for initializer_list and wrapping arrays with proper constructor seems not so easy task.</p>