From Jason Turner

[mdspan.accessor.aligned.members]

Diff to HTML by rtfpessoa

Files changed (1) hide show
  1. tmp/tmpnq8b96s2/{from.md → to.md} +55 -0
tmp/tmpnq8b96s2/{from.md → to.md} RENAMED
@@ -0,0 +1,55 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ###### Members <a id="mdspan.accessor.aligned.members">[[mdspan.accessor.aligned.members]]</a>
2
+
3
+ ``` cpp
4
+ template<class OtherElementType, size_t OtherByteAlignment>
5
+ constexpr aligned_accessor(aligned_accessor<OtherElementType, OtherByteAlignment>) noexcept;
6
+ ```
7
+
8
+ *Constraints:*
9
+
10
+ - `is_convertible_v<OtherElementType(*)[], element_type(*)[]>` is
11
+ `true`.
12
+ - `OtherByteAlignment >= byte_alignment` is `true`.
13
+
14
+ *Effects:* None.
15
+
16
+ ``` cpp
17
+ template<class OtherElementType>
18
+ constexpr explicit aligned_accessor(default_accessor<OtherElementType>) noexcept;
19
+ ```
20
+
21
+ *Constraints:*
22
+ `is_convertible_v<OtherElementType(*)[], element_type(*)[]>` is `true`.
23
+
24
+ *Effects:* None.
25
+
26
+ ``` cpp
27
+ constexpr reference access(data_handle_type p, size_t i) const noexcept;
28
+ ```
29
+
30
+ *Preconditions:* \[`0`, `i + 1`) is an accessible range for `p` and
31
+ `*this`.
32
+
33
+ *Effects:* Equivalent to: `return assume_aligned<byte_alignment>(p)[i];`
34
+
35
+ ``` cpp
36
+ template<class OtherElementType>
37
+ constexpr operator default_accessor<OtherElementType>() const noexcept;
38
+ ```
39
+
40
+ *Constraints:*
41
+ `is_convertible_v<element_type(*)[], OtherElementType(*)[]>` is `true`.
42
+
43
+ *Effects:* Equivalent to: `return {};`
44
+
45
+ ``` cpp
46
+ constexpr typename offset_policy::data_handle_type
47
+ offset(data_handle_type p, size_t i) const noexcept;
48
+ ```
49
+
50
+ *Preconditions:* \[`0`, `i + 1`) is an accessible range for `p` and
51
+ `*this`.
52
+
53
+ *Effects:* Equivalent to:
54
+ `return assume_aligned<byte_alignment>(p) + i;`
55
+