From: Luc Grosheintz Date: Thu, 2 Oct 2025 09:27:15 +0000 (+0200) Subject: libstdc++: Implement full_extent_t. [PR110352] X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=15498d5f96378b019df9f255d3f32f76a44684c4;p=thirdparty%2Fgcc.git 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 Reviewed-by: Tomasz KamiƄski Signed-off-by: Luc Grosheintz --- diff --git a/libstdc++-v3/include/std/mdspan b/libstdc++-v3/include/std/mdspan index 7acc232024e..7f69626e4e8 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 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 8da78fe955b..bfccf3cec95 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