[libcxx-commits] [PATCH] D157171: [libc++] mdspan - implement layout_stride

Christian Trott via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Fri Aug 4 20:49:12 PDT 2023


crtrott created this revision.
crtrott added a reviewer: ldionne.
crtrott added a project: libc++.
Herald added subscribers: arphaman, arichardson.
Herald added a project: All.
crtrott requested review of this revision.
Herald added a subscriber: libcxx-commits.
Herald added a reviewer: libc++.

This implements layout_stride for C++23 and with that completes the implementation of the C++23 mdspan header.
The feature test macro is added, and the status pages updated.

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


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D157171

Files:
  libcxx/docs/FeatureTestMacroTable.rst
  libcxx/docs/Status/Cxx23.rst
  libcxx/docs/Status/Cxx23Papers.csv
  libcxx/include/CMakeLists.txt
  libcxx/include/__fwd/mdspan.h
  libcxx/include/__mdspan/layout_stride.h
  libcxx/include/mdspan
  libcxx/include/version
  libcxx/test/libcxx/containers/views/mdspan/layout_stride/assert.conversion.pass.cpp
  libcxx/test/libcxx/containers/views/mdspan/layout_stride/assert.ctor.extents_array.pass.cpp
  libcxx/test/libcxx/containers/views/mdspan/layout_stride/assert.ctor.extents_span.pass.cpp
  libcxx/test/libcxx/containers/views/mdspan/layout_stride/assert.index_operator.pass.cpp
  libcxx/test/libcxx/containers/views/mdspan/layout_stride/assert.stride.pass.cpp
  libcxx/test/libcxx/containers/views/mdspan/mdspan/assert.conversion.pass.cpp
  libcxx/test/libcxx/containers/views/mdspan/mdspan/assert.size.pass.cpp
  libcxx/test/libcxx/transitive_includes/cxx03.csv
  libcxx/test/libcxx/transitive_includes/cxx11.csv
  libcxx/test/libcxx/transitive_includes/cxx14.csv
  libcxx/test/libcxx/transitive_includes/cxx17.csv
  libcxx/test/libcxx/transitive_includes/cxx20.csv
  libcxx/test/libcxx/transitive_includes/cxx23.csv
  libcxx/test/libcxx/transitive_includes/cxx26.csv
  libcxx/test/std/containers/views/mdspan/CustomTestLayouts.h
  libcxx/test/std/containers/views/mdspan/layout_stride/comparison.pass.cpp
  libcxx/test/std/containers/views/mdspan/layout_stride/ctor.default.pass.cpp
  libcxx/test/std/containers/views/mdspan/layout_stride/ctor.extents_array.pass.cpp
  libcxx/test/std/containers/views/mdspan/layout_stride/ctor.extents_span.pass.cpp
  libcxx/test/std/containers/views/mdspan/layout_stride/ctor.strided_mapping.pass.cpp
  libcxx/test/std/containers/views/mdspan/layout_stride/extents.verify.cpp
  libcxx/test/std/containers/views/mdspan/layout_stride/index_operator.pass.cpp
  libcxx/test/std/containers/views/mdspan/layout_stride/is_exhaustive_corner_case.pass.cpp
  libcxx/test/std/containers/views/mdspan/layout_stride/properties.pass.cpp
  libcxx/test/std/containers/views/mdspan/layout_stride/required_span_size.pass.cpp
  libcxx/test/std/containers/views/mdspan/layout_stride/static_requirements.pass.cpp
  libcxx/test/std/containers/views/mdspan/layout_stride/stride.pass.cpp
  libcxx/test/std/containers/views/mdspan/mdspan/CustomTestLayouts.h
  libcxx/test/std/containers/views/mdspan/mdspan/assign.pass.cpp
  libcxx/test/std/containers/views/mdspan/mdspan/conversion.pass.cpp
  libcxx/test/std/containers/views/mdspan/mdspan/conversion.verify.cpp
  libcxx/test/std/containers/views/mdspan/mdspan/ctor.copy.pass.cpp
  libcxx/test/std/containers/views/mdspan/mdspan/ctor.default.pass.cpp
  libcxx/test/std/containers/views/mdspan/mdspan/ctor.dh_array.pass.cpp
  libcxx/test/std/containers/views/mdspan/mdspan/ctor.dh_extents.pass.cpp
  libcxx/test/std/containers/views/mdspan/mdspan/ctor.dh_integers.pass.cpp
  libcxx/test/std/containers/views/mdspan/mdspan/ctor.dh_map.pass.cpp
  libcxx/test/std/containers/views/mdspan/mdspan/ctor.dh_map_acc.pass.cpp
  libcxx/test/std/containers/views/mdspan/mdspan/ctor.dh_span.pass.cpp
  libcxx/test/std/containers/views/mdspan/mdspan/ctor.move.pass.cpp
  libcxx/test/std/containers/views/mdspan/mdspan/deduction.pass.cpp
  libcxx/test/std/containers/views/mdspan/mdspan/index_operator.pass.cpp
  libcxx/test/std/containers/views/mdspan/mdspan/move.pass.cpp
  libcxx/test/std/containers/views/mdspan/mdspan/properties.pass.cpp
  libcxx/test/std/containers/views/mdspan/mdspan/swap.pass.cpp
  libcxx/test/std/containers/views/mdspan/mdspan/types.pass.cpp
  libcxx/test/std/language.support/support.limits/support.limits.general/mdspan.version.compile.pass.cpp
  libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
  libcxx/utils/generate_feature_test_macro_components.py

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D157171.547443.patch
Type: text/x-patch
Size: 121489 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/libcxx-commits/attachments/20230805/d658bc53/attachment-0001.bin>


More information about the libcxx-commits mailing list