From 9d6c32701d612278392ba49bfb0b8d2d9596ac7c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tomasz=20Kami=C5=84ski?= Date: Tue, 16 Dec 2025 07:22:39 +0100 Subject: [PATCH] New issue for US 152-243: Rename submdspan_extents and submdspan_canonicalize_slices --- xml/issue4487.xml | 116 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 116 insertions(+) create mode 100644 xml/issue4487.xml diff --git a/xml/issue4487.xml b/xml/issue4487.xml new file mode 100644 index 0000000000..cef40d1b43 --- /dev/null +++ b/xml/issue4487.xml @@ -0,0 +1,116 @@ + + + + +Rename `submdspan_extents` and `submdspan_canonicalize_slices` +
+Tomasz KamiƄski +16 Dec 2025 +99 + + +Addresses US 152-243 +and PL-008. + +

Rename `submdspan_extents` to `subextents` and `submdspan_canonicalize_slices` to `canonical_slices`.

+
+ + +

+This wording is relative to . +

+ +
    +
  1. Modify as follows:

    + +
    +
    +// , submdspan creation
    +template<class OffsetType, class LengthType, class StrideType>
    +  struct strided_slice;
    +
    +template<class LayoutMapping>
    +  struct submdspan_mapping_result;
    +
    +struct full_extent_t { explicit full_extent_t() = default; };
    +inline constexpr full_extent_t full_extent{};
    +
    +template<class IndexType, size_t... Extents, class... SliceSpecifiers>
    +  constexpr auto submdspan_extents(const extents<IndexType, Extents...>&, SliceSpecifiers...);
    +
    +// , submdspan slice canonicalization
    +template<class IndexType, size_t... Extents, class... Slices>
    +  constexpr auto submdspan_canonicalizecanonical_slices(const extents<IndexType, Extents...>& src,
    +                                               Slices... slices);
    +
    +
    +
  2. + +
  3. Modify as follows:

    + +
    +

    `submdspan` slice canonicalization

    +
    +template<class IndexType, size_t... Extents, class... Slices>
    +  constexpr auto submdspan_canonicalizecanonical_slices(const extents<IndexType, Extents...>& src,
    +                                               Slices... slices);
    +
    +
    +
  4. + +
  5. Modify as follows:

    + +
    +

    submdspan_extents function

    + +
    +template<class IndexType, size_t... Extents, class... SliceSpecifiers>
    +  constexpr auto submdspan_extents(const extents<IndexType, Extents...>& src,
    +                                   SliceSpecifiers... raw_slices);
    +
    +
    +

    -1- Let `slices` be the pack introduced by the following declaration: +

    +  auto [...slices] = submdspan_canonicalizecanonical_slices(src, raw_slices...)
    +

    +
    +
    +
  6. + +
  7. Modify as follows:

    +
    +
    +

    -5- Returns: An object `smr` of type `SMR` such that +

      +
    • -5.1- smr.mapping.extents() == submdspan_extents(m.extents(), valid_slices...) is `true`; and
    • +
    • -5.2- […]
    • +

    +
    +
    +
  8. + +
  9. Modify as follows:

    +
    +
    +

    -5- Let `sub_ext` be the result of submdspan_extents(extents(), slices...) +and let `SubExtents` be `decltype(sub_ext)`.

    +
    +
    +
  10. + +
  11. Modify as follows:

    +
    +
    +

    -2- Let `slices` be the pack introduced by the following declaration: +

    +  auto [...slices] = submdspan_canonicalizecanonical_slices(src, raw_slices...)
    +

    +
    +
    +
  12. + +
+ +
+ +