3970. §[mdspan.syn] Missing definition of full_extent_t and full_extent

Section: 23.7.3.2 [mdspan.syn] Status: WP Submitter: S. B. Tam Opened: 2023-08-16 Last modified: 2023-11-22

Priority: Not Prioritized

View all issues with WP status.

Discussion:

submdspan uses a type called full_extent_t, but there isn't a definition for that type.

It appears that full_extent_t (along with full_extent) was proposed in P0009 before submdspan was moved into its own paper, and its definition failed to be included in P2630 Submdspan.

[2023-10-27; Reflector poll]

Set status to Tentatively Ready after nine votes in favour during reflector poll.

[2023-11-11 Approved at November 2023 meeting in Kona. Status changed: Voting → WP.]

Proposed resolution:

This wording is relative to N4958.

  1. Modify 23.7.3.2 [mdspan.syn] as indicated:

    […]
    //  [mdspan.submdspan], 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{};
    […]