tmp/tmpykib22oh/{from.md → to.md}
RENAMED
|
@@ -39,10 +39,46 @@ template<class OtherExtents>
|
|
| 39 |
value of type `index_type` [[basic.fundamental]].
|
| 40 |
|
| 41 |
*Effects:* Direct-non-list-initializes *extents\_* with
|
| 42 |
`other.extents()`.
|
| 43 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 44 |
``` cpp
|
| 45 |
template<class OtherExtents>
|
| 46 |
constexpr explicit(extents_type::rank() > 0)
|
| 47 |
mapping(const layout_stride::mapping<OtherExtents>& other) noexcept;
|
| 48 |
```
|
|
|
|
| 39 |
value of type `index_type` [[basic.fundamental]].
|
| 40 |
|
| 41 |
*Effects:* Direct-non-list-initializes *extents\_* with
|
| 42 |
`other.extents()`.
|
| 43 |
|
| 44 |
+
``` cpp
|
| 45 |
+
template<class LayoutRightPaddedMapping>
|
| 46 |
+
constexpr explicit(!is_convertible_v<typename LayoutRightPaddedMapping::extents_type,
|
| 47 |
+
extents_type>)
|
| 48 |
+
mapping(const LayoutRightPaddedMapping&) noexcept;
|
| 49 |
+
```
|
| 50 |
+
|
| 51 |
+
*Constraints:*
|
| 52 |
+
|
| 53 |
+
- *`is-layout-right-padded-mapping-of`*`<LayoutRightPaddedMapping>` is
|
| 54 |
+
`true`.
|
| 55 |
+
- `is_constructible_v<extents_type, typename LayoutRightPaddedMapping::extents_- type>`
|
| 56 |
+
is `true`.
|
| 57 |
+
|
| 58 |
+
*Mandates:* If
|
| 59 |
+
|
| 60 |
+
- `Extents::rank()` is greater than one,
|
| 61 |
+
- `Extents::static_extent(Extents::rank() - 1)` does not equal
|
| 62 |
+
`dynamic_extent`, and
|
| 63 |
+
- `LayoutRightPaddedMapping::`*`static-padding-stride`* does not equal
|
| 64 |
+
`dynamic_extent`,
|
| 65 |
+
|
| 66 |
+
then `Extents::static_extent(Extents::rank() - 1)` equals
|
| 67 |
+
`LayoutRightPaddedMapping::`*`static-padding-stride`*.
|
| 68 |
+
|
| 69 |
+
*Preconditions:*
|
| 70 |
+
|
| 71 |
+
- If `extents_type::rank() > 1` is `true`, then
|
| 72 |
+
`other.stride(extents_type::rank() - 2)` equals
|
| 73 |
+
`other.extents().extent(extents_type::rank() - 1)`.
|
| 74 |
+
- `other.required_span_size()` is representable as a value of type
|
| 75 |
+
`index_type`.
|
| 76 |
+
|
| 77 |
+
*Effects:* Direct-non-list-initializes `extents_` with
|
| 78 |
+
`other.extents()`.
|
| 79 |
+
|
| 80 |
``` cpp
|
| 81 |
template<class OtherExtents>
|
| 82 |
constexpr explicit(extents_type::rank() > 0)
|
| 83 |
mapping(const layout_stride::mapping<OtherExtents>& other) noexcept;
|
| 84 |
```
|