[mdspan.syn] # 23 Containers library [[containers]](./#containers) ## 23.7 Views [[views]](views#mdspan.syn) ### 23.7.3 Multidimensional access [[views.multidim]](views.multidim#mdspan.syn) #### 23.7.3.2 Header synopsis [mdspan.syn] [🔗](#header:%3cmdspan%3e) // mostly freestandingnamespace std {// [[mdspan.extents]](mdspan.extents "23.7.3.3 Class template extents"), class template extentstemplateclass extents; // [[mdspan.extents.dextents]](mdspan.extents.dextents "23.7.3.3.6 Alias template dextents"), alias template dextentstemplateusing dextents = *see below*; // [[mdspan.extents.dims]](mdspan.extents.dims "23.7.3.3.7 Alias template dims"), alias template dimstemplateusing dims = *see below*; // [[mdspan.layout]](mdspan.layout "23.7.3.4 Layout mapping"), layout mappingstruct layout_left; struct layout_right; struct layout_stride; templatestruct layout_left_padded; templatestruct layout_right_padded; // [[mdspan.accessor.default]](mdspan.accessor.default "23.7.3.5.3 Class template default_­accessor"), class template default_accessortemplateclass default_accessor; // [[mdspan.accessor.aligned]](mdspan.accessor.aligned "23.7.3.5.4 Class template aligned_­accessor"), class template aligned_accessortemplateclass aligned_accessor; // [[mdspan.mdspan]](mdspan.mdspan "23.7.3.6 Class template mdspan"), class template mdspantemplate>class mdspan; // partially freestanding// [[mdspan.sub]](mdspan.sub "23.7.3.7 submdspan"), submdspan creationtemplatestruct strided_slice; templatestruct submdspan_mapping_result; struct full_extent_t { explicit full_extent_t() = default; }; inline constexpr full_extent_t full_extent{}; templateconstexpr auto submdspan_extents(const extents&, SliceSpecifiers...); // [[mdspan.sub.sub]](mdspan.sub.sub "23.7.3.7.7 submdspan function template"), submdspan function templatetemplateconstexpr auto submdspan(const mdspan& src, SliceSpecifiers... slices) -> *see below*; templateconcept [*index-pair-like*](#concept:index-pair-like "23.7.3.2 Header synopsis [mdspan.syn]") = // *exposition only*[*pair-like*](tuple.syn#concept:pair-like "22.4.2 Header synopsis [tuple.syn]") &&[convertible_to](concept.convertible#concept:convertible_to "18.4.4 Concept convertible_­to [concept.convertible]"), IndexType> &&[convertible_to](concept.convertible#concept:convertible_to "18.4.4 Concept convertible_­to [concept.convertible]"), IndexType>;}