On Thu, 2 Oct 2025 at 10:29, Luc Grosheintz <[email protected]> wrote:
>
> 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.

OK for trunk, thanks.

>
> Signed-off-by: Luc Grosheintz <[email protected]>
> ---
>  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 4828806d817..00bb9716a9d 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 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
>
> --
> 2.50.1
>

Reply via email to