title: C++ template add/enable constructor based on template argument
body: <p>Is it possible in the following scenario to define dedicated constructors for certain specializations of a template:</p>
  
  <pre><code>template&lt;typename T, size_t D&gt;
  class vector {
    T values[D];
  public:
    vector();
  };
  </code></pre>
  
  <p>Constructors I want to add dependent on the D-argument:</p>
  
  <pre><code>template&lt;typename T&gt;
  vector&lt;T, 2&gt;::vector(T t1, T t2) { ... }
  
  template&lt;typename T&gt;
  vector&lt;T, 3&gt;::vector(T t1, T t2, T t3) { ... }
  
  template&lt;typename T&gt;
  vector&lt;T, 4&gt;::vector(T t1, T t2, T t3, T t4) { ... }
  </code></pre>