[libc++][mdspan] Implement layout_left

This commit implements layout_left in support of C++23 mdspan
(https://wg21.link/p0009). layout_left is a layout mapping policy
whose index mapping corresponds to the memory layout of Fortran arrays.
Thus the left most index has stride-1 access, and the right most index
is associated with the largest stride.

Co-authored-by: Damien L-G <dalg24@gmail.com>

Differential Revision: https://reviews.llvm.org/D153783
This commit is contained in:
Christian Trott
2023-06-29 13:36:07 -06:00
parent 9979417d4d
commit b4ff893877
28 changed files with 1653 additions and 16 deletions

View File

@@ -1174,6 +1174,7 @@ module std [system] {
module __mdspan {
module extents { private header "__mdspan/extents.h" }
module layout_left { private header "__mdspan/layout_left.h" }
module layout_right { private header "__mdspan/layout_right.h" }
module mdspan_fwd { private header "__fwd/mdspan.h" }
}