[mdspan.sub.map.sliceable] (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.7 Specializations of submdspan_mapping [mdspan.sub.map]

23.7.3.7.7.1 Sliceable layout mapping requirements [mdspan.sub.map.sliceable]

Let:

For the purpose of this section, the meaning of submdspan_mapping is established as if by performing argument-dependent lookup only ([basic.lookup.argdep]).

A type M meets the sliceable layout mapping requirements if

Result: A type SMR that is a specialization of type submdspan_mapping_result for some type SM such that

Returns: An object smr of type SMR such that

template<class LayoutMapping> concept [_sliceable-mapping_](#concept:sliceable-mapping "23.7.3.7.7.1 Sliceable layout mapping requirements [mdspan.sub.map.sliceable]") = _see below_;

Let lm be an object of type LayoutMappingand let fe denote a pack of objects of type full_extent_tfor which sizeof...(fe) == LayoutMapping​::​extents_type​::​rank() is true.

A type LayoutMapping satisfies sliceable-mapping if

A type LayoutMapping models sliceable-mappingif LayoutMapping meets the sliceable layout mapping requirements.