[mdspan.sub.extents] (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_extents function [mdspan.sub.extents]

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

Constraints: sizeof...(slices) equals Extents​::​rank().

Mandates: For each rank index k of src.extents(), exactly one of the following is true:

Preconditions: For each rank index k of src.extents(), all of the following are true:

Let SubExtents be a specialization of extents such that:

Returns: A value ext of type SubExtents such that for each kfor which _map-rank_[k] != dynamic_extent is true,ext.extent(_map-rank_[k]) equals: