[mdspan.sub.strided.slice]

# 23 Containers library [[containers]](./#containers)

## 23.7 Views [[views]](views#mdspan.sub.strided.slice)

### 23.7.3 Multidimensional access [[views.multidim]](views.multidim#mdspan.sub.strided.slice)

#### 23.7.3.7 submdspan [[mdspan.sub]](mdspan.sub#strided.slice)

#### 23.7.3.7.2 strided_slice [mdspan.sub.strided.slice]

[1](#1)

[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/containers.tex#L25300)

strided_slice represents a set ofextent regularly spaced integer indices[.](#1.sentence-1)

The indices start at offset, and
increase by increments of stride[.](#1.sentence-2)

[ð](#lib:strided_slice)

namespace std {template<class OffsetType, class ExtentType, class StrideType>struct strided_slice {using offset_type = OffsetType; using extent_type = ExtentType; using stride_type = StrideType; [[no_unique_address]] offset_type offset{}; [[no_unique_address]] extent_type extent{}; [[no_unique_address]] stride_type stride{}; };}

[2](#2)

[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/containers.tex#L25322)

strided_slice has the data members and special members specified above[.](#2.sentence-1)

It has no base classes or members other than those specified[.](#2.sentence-2)

[3](#3)

[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/containers.tex#L25326)

*Mandates*: OffsetType, ExtentType, and StrideType are signed or unsigned integer types, or
model [*integral-constant-like*](span.syn#concept:integral-constant-like "23.7.2.1 Header <span> synopsis [span.syn]")[.](#3.sentence-1)

[*Note [1](#note-1)*:

strided_slice{.offset = 1, .extent = 10, .stride = 3} indicates the indices 1, 4, 7, and 10[.](#3.sentence-2)

Indices are selected from the half-open interval [1, 1 + 10)[.](#3.sentence-3)

â *end note*]
