mdspan - extents of multidimensional arrays.
Extents describe the number of elements along a certain dimension, a
multidimensional index space of rank R. This is equivalent to the
Cartesian product space of integer intervals [0, N_0) x [0, N_1) x ... x
[0,N_{R-1} )
The extents class distinguishes between extents known at compile time
(static) or at run time (dynamic). Static extents are templated to allow
compile time indexing evaluation (part of later patch).
Confer to P0009r8 of the Library Evolution Working Group and
mdspan.extents
Source code copied and modified from Oakridge National Labs repository.
https://github.com/ORNL/cpp-proposals-pub/tree/master/P0009/reference-implementation/include/experimental/bits
Refers #2281
Change-Id: I5301f172fa1d891bcf929a70e3765a2c52b3d8b8