title: static_assert each parameter's size in parameter pack
body: <p>I am trying to check whether each parameter within a parameter pack can be stored within 8 bytes (sizeof &lt;= 8)</p>
  
  <p>I have the function signature:</p>
  
  <pre><code>template &lt;typename Return, typename... Arguments&gt;
  inline auto invoke(std::uint64_t hash, Arguments... arguments) -&gt; Return
  </code></pre>
  
  <p>Using fold expressions, I have tried:</p>
  
  <pre><code>static_assert((sizeof(arguments) &lt;= 8 &amp;&amp; ...));
  </code></pre>
  
  <p>Which failed to compile with <code>unexpected token '...', expected 'expression'</code> - I assume it's invalid or incorrect?</p>
  
  <p>Using C++20 concepts and constraints, I assume something along the lines of is possible?</p>
  
  <pre><code>template &lt;typename Return, typename... Arguments&gt; requires (sizeof(arguments) &lt;= 8 || ...)
  inline auto invoke(std::uint64_t hash, Arguments... arguments) -&gt; Return
  </code></pre>
  
  <p>I assume there is a way of using the standard library to say check that a type fits within a <code>std::uint64_t</code> say also?</p>