@@ -39,8 +39,7 @@ which would explicitly specify the constructor used.
39
39
The meaning of those <i >Effects</i >: paragraphs was changed for C++26 by
40
40
<paper num =" P2447R6" /> which added the `span(initializer_list)` constructor.
41
41
A simpler demo is:
42
- <blockquote ><pre ><code >
43
- bool a[5]{};
42
+ <blockquote ><pre ><code >bool a[5]{};
44
43
std::span< const bool> s(a);
45
44
std::span< const bool> s2 = s.first(5);
46
45
assert(s2.size() == 5); // OK in C++23, fails in C++26
@@ -95,24 +94,24 @@ template<size_t Offset, size_t Count = dynamic_extent>
95
94
</code ></pre >
96
95
<blockquote >
97
96
<p >-7- <i >Mandates</i >:
98
- <pre ><code > Offset < = Extent && (Count == dynamic_extent || Count < = Extent - Offset)
99
- </code ></pre >
97
+ <blockquote >< pre ><code >Offset < = Extent && (Count == dynamic_extent || Count < = Extent - Offset)
98
+ </code ></pre ></ blockquote >
100
99
is `true`.</p >
101
100
<p >-8- <i >Hardened preconditions</i >:
102
- <pre ><code > Offset < = size() && (Count == dynamic_extent || Count < = size() - Offset)
103
- </code ></pre >
101
+ <blockquote >< pre ><code >Offset < = size() && (Count == dynamic_extent || Count < = size() - Offset)
102
+ </code ></pre ></ blockquote >
104
103
is `true`.</p >
105
104
<p >-9- <i >Effects</i >: Equivalent to:
106
- <pre ><code > return span< ElementType, <i >see below</i >> (
105
+ <blockquote >< pre ><code >return span< ElementType, <i >see below</i >> (
107
106
data() + Offset, Count != dynamic_extent ? Count : size() - Offset);
108
- </code ></pre >
107
+ </code ></pre ></ blockquote >
109
108
</p >
110
109
<p >-10- <i >Remarks</i >:
111
110
The second template argument of the returned `span` type is:
112
- <pre ><code > Count != dynamic_extent ? Count
113
- : (Extent != dynamic_extent ? Extent - Offset
114
- : dynamic_extent)
115
- </code ></pre >
111
+ <blockquote >< pre ><code >Count != dynamic_extent ? Count
112
+ : (Extent != dynamic_extent ? Extent - Offset
113
+ : dynamic_extent)
114
+ </code ></pre ></ blockquote >
116
115
</p >
117
116
</blockquote >
118
117
@@ -144,12 +143,12 @@ constexpr span<element_type, dynamic_extent> subspan(
144
143
</code ></pre >
145
144
<blockquote >
146
145
<p >-15- <i >Hardened preconditions</i >:
147
- <pre ><code > offset < = size() && (count == dynamic_extent || count < = size() - offset
148
- </code ></pre >
146
+ <blockquote >< pre ><code >offset < = size() && (count == dynamic_extent || count < = size() - offset
147
+ </code ></pre ></ blockquote >
149
148
is `true`.</p >
150
149
<p >-16- <i >Effects</i >: Equivalent to:
151
- <pre ><code > return <ins >R(</ins ><del >{</del >data() + offset, count == dynamic_extent ? size() - offset : count<del >}</del ><ins >)</ins >;
152
- </code ></pre >
150
+ <blockquote >< pre ><code >return <ins >R(</ins ><del >{</del >data() + offset, count == dynamic_extent ? size() - offset : count<del >}</del ><ins >)</ins >;
151
+ </code ></pre ></ blockquote >
153
152
<ins >where `R` is the return type</ins >.
154
153
</p >
155
154
</blockquote >
0 commit comments