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 |
+
|