libstdc++: Implement submdspan_mapping_result. [PR110352]

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.

Reviewed-by: Jonathan Wakely <jwakely@redhat.com>
Reviewed-by: Tomasz Kamiński <tkaminsk@redhat.com>
Signed-off-by: Luc Grosheintz <luc.grosheintz@gmail.com>
This commit is contained in:
Luc Grosheintz
2025-10-02 11:27:16 +02:00
committed by Tomasz Kamiński
parent 15498d5f96
commit e269268e45
2 changed files with 9 additions and 1 deletions

View File

@@ -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>

View File

@@ -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