title: What is gsl::multi_span to be used for?
body: <p>The C++ core guidelines mention spans, not "multi-spans". But - I see that Microsoft's GSL implementation has a <a href="https://github.com/Microsoft/GSL/blob/master/include/gsl/multi_span" rel="noreferrer"><code>multi_span</code> class</a></p>
  
  <pre><code>template &lt;
      typename ValueType,
      std::ptrdiff_t FirstDimension,
      std::ptrdiff_t... RestDimensions
  &gt;
  class multi_span { ... };
  </code></pre>
  
  <p>So, obviously this is some sort of a multi-dimensional version of <code>gsl::span</code>. But what is that supposed to mean? Why do we need this multi-dimensional span, or rather - when would we use it? I can't seem to find any documentation on this.</p>