This adds the layout_left layout mapping for mdspan, and its associated tests.
The tests are copy paste from layout_right, with more or less a search replace of left for right..
Co-authored-by: Damien L-G <dalg24@gmail.com>
Paths
| Differential D153783
[libc++] Adding mdspan layout_left ClosedPublic Authored by crtrott on Jun 26 2023, 9:50 AM.
Details
Summary This adds the layout_left layout mapping for mdspan, and its associated tests. Co-authored-by: Damien L-G <dalg24@gmail.com>
Diff Detail Event TimelineComment Actions I think the next step would be rebasing this properly on top of layouts_right so the diff is fixed, but this pretty much LGTM.
Comment Actions Fix some copy paste name issues in required_span_size test crtrott retitled this revision from Adding mdspan layout_left to [libc++] Adding mdspan layout_left. Comment ActionsFix missing include for module build crtrott added a child revision: D153935: [libc++] mdspan - implement default_accessor.Jun 27 2023, 8:16 PM Comment Actions LGTM, I'll make a local check for the diff between the tests for layout_right and layout_left just in case.
This revision is now accepted and ready to land.Jun 28 2023, 12:20 PM crtrott marked an inline comment as done. Comment ActionsApply post-review changes from layout_right to layout_left This revision was landed with ongoing or failed builds.Jun 29 2023, 1:04 PM Closed by commit rGb4ff893877ff: [libc++][mdspan] Implement layout_left (authored by crtrott). · Explain Why This revision was automatically updated to reflect the committed changes. crtrott removed a child revision: D153935: [libc++] mdspan - implement default_accessor.Jun 29 2023, 1:12 PM
Revision Contents
Diff 534761 libcxx/docs/Status/Cxx23.rst
libcxx/include/CMakeLists.txt
libcxx/include/__fwd/mdspan.h
libcxx/include/__mdspan/layout_left.h
libcxx/include/__mdspan/layout_right.h
libcxx/include/mdspan
libcxx/include/module.modulemap.in
libcxx/modules/std/mdspan.cppm
libcxx/test/std/containers/views/mdspan/layout_left/assert.conversion.pass.cpp
libcxx/test/std/containers/views/mdspan/layout_left/assert.ctor.extents.pass.cpp
libcxx/test/std/containers/views/mdspan/layout_left/assert.ctor.layout_right.pass.cpp
libcxx/test/std/containers/views/mdspan/layout_left/assert.index_operator.pass.cpp
libcxx/test/std/containers/views/mdspan/layout_left/assert.stride.pass.cpp
libcxx/test/std/containers/views/mdspan/layout_left/comparison.pass.cpp
libcxx/test/std/containers/views/mdspan/layout_left/ctor.default.pass.cpp
libcxx/test/std/containers/views/mdspan/layout_left/ctor.extents.pass.cpp
libcxx/test/std/containers/views/mdspan/layout_left/ctor.layout_right.pass.cpp
libcxx/test/std/containers/views/mdspan/layout_left/ctor.mapping.pass.cpp
libcxx/test/std/containers/views/mdspan/layout_left/extents.verify.cpp
libcxx/test/std/containers/views/mdspan/layout_left/index_operator.pass.cpp
libcxx/test/std/containers/views/mdspan/layout_left/properties.pass.cpp
libcxx/test/std/containers/views/mdspan/layout_left/required_span_size.pass.cpp
libcxx/test/std/containers/views/mdspan/layout_left/static_requirements.pass.cpp
libcxx/test/std/containers/views/mdspan/layout_left/stride.pass.cpp
libcxx/test/std/containers/views/mdspan/layout_right/assert.conversion.pass.cpp
libcxx/test/std/containers/views/mdspan/layout_right/assert.ctor.layout_left.pass.cpp
libcxx/test/std/containers/views/mdspan/layout_right/ctor.layout_left.pass.cpp
|