Thank you for the patches. I have reviewed the layout_left and test, and posted some suggestions there. I will follow up with a review for other mapping later.
On Sun, May 18, 2025 at 10:07 PM Luc Grosheintz <luc.groshei...@gmail.com> wrote: > 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` > <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 > >