title: Make std:array size depending on class template parameter
body: <p>Let's consider following very simplified example</p>
  
  <pre><code>#include &lt;array&gt;
  template&lt;typename T, F&gt;
  class GenericColor {
  protected:
     std::array&lt;T, F&gt; components;
  }
  
  class RGB : public GenericColor&lt;int, 3&gt; { // three components, red, green...
  }
  
  class CMYK : public GenericColor&lt;int, 4&gt; { // four components, cyan, magenta....
  }
  </code></pre>
  
  <p>My question is how to make second parameter pointing on std::array size, just to make this example working.</p>