Technically, this is the second iteration of these patches. Previous
discussion can be found here:

https://gcc.gnu.org/pipermail/libstdc++/2025-May/061350.html`

The implementation of `layout_stride::mapping::is_exhaustive` needs
to be discussed, because for empty extents, the standard seems to
require implementing a formula that doesn't require returning true
in all cases.

Luc Grosheintz (6):
  libstdc++: Implement layout_left from mdspan.
  libstdc++: Add tests for layout_left.
  libstdc++: Implement layout_right from mdspan.
  libstdc++: Add tests for layout_right.
  libstdc++: Implement layout_stride from mdspan.
  libstdc++: Add tests for layout_stride.

 libstdc++-v3/include/std/mdspan               | 604 ++++++++++++++++++
 .../mdspan/layouts/class_mandate_neg.cc       |  42 ++
 .../23_containers/mdspan/layouts/ctors.cc     | 421 ++++++++++++
 .../23_containers/mdspan/layouts/mapping.cc   | 573 +++++++++++++++++
 .../23_containers/mdspan/layouts/stride.cc    | 494 ++++++++++++++
 5 files changed, 2134 insertions(+)
 create mode 100644 
libstdc++-v3/testsuite/23_containers/mdspan/layouts/class_mandate_neg.cc
 create mode 100644 libstdc++-v3/testsuite/23_containers/mdspan/layouts/ctors.cc
 create mode 100644 
libstdc++-v3/testsuite/23_containers/mdspan/layouts/mapping.cc
 create mode 100644 
libstdc++-v3/testsuite/23_containers/mdspan/layouts/stride.cc

-- 
2.49.0

Reply via email to