This is the fourth interation and replaces: https://gcc.gnu.org/pipermail/libstdc++/2025-April/061046.html
Changes since v3: * Use `_S_` prefix for static member functions. * Use consteval to reduce code size. * Simplify ctors of _ExtentsStorage. * Added a test to cover the mandates of std::extents. Luc Grosheintz (4): libstdc++: Setup internal FTM for mdspan. libstdc++: Add header mdspan to the build-system. libstdc++: Implement std::extents [PR107761]. libstdc++: Add tests for std::extents. libstdc++-v3/doc/doxygen/user.cfg.in | 1 + libstdc++-v3/include/Makefile.am | 1 + libstdc++-v3/include/Makefile.in | 1 + libstdc++-v3/include/bits/version.def | 9 + libstdc++-v3/include/bits/version.h | 9 + libstdc++-v3/include/precompiled/stdc++.h | 1 + libstdc++-v3/include/std/mdspan | 297 ++++++++++++++++++ libstdc++-v3/src/c++23/std.cc.in | 6 +- .../mdspan/extents/class_mandates_neg.cc | 8 + .../23_containers/mdspan/extents/ctor_copy.cc | 82 +++++ .../23_containers/mdspan/extents/ctor_ints.cc | 62 ++++ .../mdspan/extents/ctor_shape.cc | 160 ++++++++++ .../mdspan/extents/custom_integer.cc | 87 +++++ .../23_containers/mdspan/extents/misc.cc | 223 +++++++++++++ 14 files changed, 946 insertions(+), 1 deletion(-) create mode 100644 libstdc++-v3/include/std/mdspan create mode 100644 libstdc++-v3/testsuite/23_containers/mdspan/extents/class_mandates_neg.cc create mode 100644 libstdc++-v3/testsuite/23_containers/mdspan/extents/ctor_copy.cc create mode 100644 libstdc++-v3/testsuite/23_containers/mdspan/extents/ctor_ints.cc create mode 100644 libstdc++-v3/testsuite/23_containers/mdspan/extents/ctor_shape.cc create mode 100644 libstdc++-v3/testsuite/23_containers/mdspan/extents/custom_integer.cc create mode 100644 libstdc++-v3/testsuite/23_containers/mdspan/extents/misc.cc -- 2.49.0