[mdspan.sub.canonical] (original) (raw)

23 Containers library [containers]

23.7 Views [views]

23.7.3 Multidimensional access [views.multidim]

23.7.3.7 submdspan [mdspan.sub]

23.7.3.7.5 submdspan slice canonicalization [mdspan.sub.canonical]

template<class IndexType, size_t... Extents, class... SliceSpecifiers> constexpr auto submdspan_canonicalize_slices(const extents<IndexType, Extents...>& src, SliceSpecifiers... slices);

Constraints: sizeof...(SliceSpecifiers) equals sizeof...(Extents).

Mandates: For each rank index k of src:

Preconditions: For each rank index k of src,canonical-slice<IndexType>(slices...[k])is a valid submdspan slice for the extent of src.

Returns: make_tuple(canonical-slice<IndexType>(slices)...).