main:()={v:std::vector=(1,2,3,4,5,6,7,8,9,10,11,12);// View data as contiguous memory representing 2 rows of 6 ints eachms2:=std::mdspan(v.data(),2,6);// View the same data as a 3D array 2 x 3 x 2ms3:=std::mdspan(v.data(),2,3,2);// Write data using 2D view(copyi:=0,extent0:=cpp2::unsafe_narrow<i32>(ms2.extent(0U)))whilei!=extent0nexti++{(copyj:=0,extent1:=cpp2::unsafe_narrow<i32>(ms2.extent(1U)))whilej!=extent1nextj++{ms2[i,j]=i*1000+j;}}// Read back using 3D view(copyi:std::size_t=0)whilei!=ms3.extent(0U)nexti++{std::println("slice @ i = {}",i);(copyj:std::size_t=0)whilej!=ms3.extent(1U)nextj++{(copyk:std::size_t=0)whilek!=ms3.extent(2U)nextk++{std::print("{} ",ms3[i,j,k]);}std::println("");}}}