title: C++ : a helper to compare variadic unsigned int templates parameters
body: <p>In a class that mixes CRTP, variadic templates, metaprogrammation and operator overloading, I would like to compare two variadic unsigned int templates parameters in order to do some static assertion. I think that helper structs would be a good way to do this but I don't know exactly how to do it. I think about something of the form :</p>
  
  <pre><code>template&lt;unsigned int... TDIM, unsigned int... TDIM0&gt; struct HelperCheckDimensions
  {
      static const bool ok = /* SOMETHING */
  };
  </code></pre>
  
  <p>where <code>TDIM</code> and <code>TDIM0</code> are the two parameters I want to compare. It will allow me to type :</p>
  
  <pre><code>static_assert(HelperCheckDimensions&lt;TDIM..., TDIM0...&gt;::ok, "ERROR : Dimensions are different !");
  </code></pre>
  
  <p>I want the result to be true only if <code>sizeof...(TDIM)==sizeof...(TDIM0)</code> AND <code>TDIM[0] == TDIM0[0], TDIM[1] == TDIM0[1], ..., TDIM[n] == TDIM0[n]</code>.</p>
  
  <p>How to do that ?</p>
  
  <p>Thank you very much.</p>