title: Adjust array inside struct according to parameter pack length (passed into constructor)
body: <p>I want to create a constexpr struct which holds a number of states in an array, represented by <code>state_type_t</code>. The struct should be created dynamically via a parameter pack. My problem is that I don't know the size of the array holding the states as I would have to be aware of the number of arguments in the parameter pack... Is there a way around this (C++11)?</p>
  <pre><code>template&lt;int S&gt;
  struct state_collection
  {
      state_collection(state_type_t... Args) : states_(Args...) const noexcept {
  
      }
  
      std::array&lt;state_type_t, S&gt; states_; // &lt;-- how big is S? How to derive S from parameter pack size?
  };
  
  struct region
  {
      constexpr state_collection req_;
      constexpr state_collection act_;
  };
  
  
  region( { .req_{LOCAL_STATE_A, LOCAL_STATE_B}, .act_{} } );
  </code></pre>