From Jason Turner

[mdspan.sub.strided.slice]

Diff to HTML by rtfpessoa

Files changed (1) hide show
  1. tmp/tmp_zcozlnh/{from.md → to.md} +36 -0
tmp/tmp_zcozlnh/{from.md → to.md} RENAMED
@@ -0,0 +1,36 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ##### `strided_slice` <a id="mdspan.sub.strided.slice">[[mdspan.sub.strided.slice]]</a>
2
+
3
+ `strided_slice` represents a set of `extent` regularly spaced integer
4
+ indices. The indices start at `offset`, and increase by increments of
5
+ `stride`.
6
+
7
+ ``` cpp
8
+ namespace std {
9
+ template<class OffsetType, class ExtentType, class StrideType>
10
+ struct strided_slice {
11
+ using offset_type = OffsetType;
12
+ using extent_type = ExtentType;
13
+ using stride_type = StrideType;
14
+
15
+ [[no_unique_address]] offset_type offset{};
16
+ [[no_unique_address]] extent_type extent{};
17
+ [[no_unique_address]] stride_type stride{};
18
+ };
19
+ }
20
+ ```
21
+
22
+ `strided_slice` has the data members and special members specified
23
+ above. It has no base classes or members other than those specified.
24
+
25
+ *Mandates:* `OffsetType`, `ExtentType`, and `StrideType` are signed or
26
+ unsigned integer types, or model `integral-constant-like`.
27
+
28
+ [*Note 1*:
29
+
30
+ `strided_slice{.offset = 1, .extent = 10, .stride = 3}`
31
+
32
+ indicates the indices `1`, `4`, `7`, and `10`. Indices are selected from
33
+ the half-open interval \[`1`, `1 + 10`).
34
+
35
+ — *end note*]
36
+