https://gcc.gnu.org/g:15498d5f96378b019df9f255d3f32f76a44684c4
commit r16-4292-g15498d5f96378b019df9f255d3f32f76a44684c4 Author: Luc Grosheintz <[email protected]> Date: Thu Oct 2 11:27:15 2025 +0200 libstdc++: Implement full_extent_t. [PR110352] Add the class and updates the std module. PR libstdc++/110352 libstdc++-v3/ChangeLog: * include/std/mdspan (full_extent_t): New class. * src/c++23/std.cc.in (full_extent_t): Add. Reviewed-by: Jonathan Wakely <[email protected]> Reviewed-by: Tomasz KamiĆski <[email protected]> Signed-off-by: Luc Grosheintz <[email protected]> Diff: --- libstdc++-v3/include/std/mdspan | 7 +++++++ libstdc++-v3/src/c++23/std.cc.in | 5 +++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/libstdc++-v3/include/std/mdspan b/libstdc++-v3/include/std/mdspan index 7acc232024e9..7f69626e4e86 100644 --- a/libstdc++-v3/include/std/mdspan +++ b/libstdc++-v3/include/std/mdspan @@ -337,6 +337,13 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION } #if __glibcxx_submdspan + struct full_extent_t + { + explicit full_extent_t() = default; + }; + + inline constexpr full_extent_t full_extent{}; + template<typename _OffsetType, typename _ExtentType, typename _StrideType> struct strided_slice { static_assert(__is_standard_integer<_OffsetType>::value diff --git a/libstdc++-v3/src/c++23/std.cc.in b/libstdc++-v3/src/c++23/std.cc.in index 8da78fe955b7..bfccf3cec956 100644 --- a/libstdc++-v3/src/c++23/std.cc.in +++ b/libstdc++-v3/src/c++23/std.cc.in @@ -1873,9 +1873,10 @@ export namespace std using std::layout_left_padded; using std::layout_right_padded; using strided_slice; + using full_extent_t; + using full_extent; #endif - // FIXME submdspan_mapping_result, full_extent_t, full_extent, - // submdspan_extents, mdsubspan + // FIXME submdspan_mapping_result, submdspan_extents, mdsubspan } #endif
