On Thu, 2 Oct 2025 at 10:32, Luc Grosheintz <[email protected]> wrote: > > Implement the class submdspan_mapping_result and add it to the std > module. > > PR libstdc++/110352 > > libstdc++-v3/ChangeLog: > > * include/std/mdspan (submdspan_mapping_result): New class. > * src/c++23/std.cc.in (submdspan_mapping_result): 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 | 3 ++- > 2 files changed, 9 insertions(+), 1 deletion(-) > > diff --git a/libstdc++-v3/include/std/mdspan b/libstdc++-v3/include/std/mdspan > index 00bb9716a9d..cef6d625982 100644 > --- a/libstdc++-v3/include/std/mdspan > +++ b/libstdc++-v3/include/std/mdspan > @@ -361,6 +361,13 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION > [[no_unique_address]] extent_type extent{}; > [[no_unique_address]] stride_type stride{}; > }; > + > + template<typename _Mapping> > + struct submdspan_mapping_result > + { > + [[no_unique_address]] _Mapping mapping = _Mapping(); > + size_t offset{}; > + }; > #endif > > template<typename _IndexType, size_t... _Extents> > diff --git a/libstdc++-v3/src/c++23/std.cc.in > b/libstdc++-v3/src/c++23/std.cc.in > index bfccf3cec95..9cf5fa7dcb6 100644 > --- a/libstdc++-v3/src/c++23/std.cc.in > +++ b/libstdc++-v3/src/c++23/std.cc.in > @@ -1875,8 +1875,9 @@ export namespace std > using strided_slice; > using full_extent_t; > using full_extent; > + using submdspan_mapping_result; > #endif > - // FIXME submdspan_mapping_result, submdspan_extents, mdsubspan > + // FIXME submdspan_extents, mdsubspan > } > #endif > > -- > 2.50.1 >
