Skip to content

Commit 9603bca

Browse files
committed
Matthias Kretz provides updated wording
1 parent e14d9e2 commit 9603bca

File tree

1 file changed

+80
-2
lines changed

1 file changed

+80
-2
lines changed

xml/issue4382.xml

Lines changed: 80 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,9 +47,8 @@ the overload set ambiguous</p></li>
4747
<li><p>`float` is convertible to `bool`, thus
4848
<tt>simd::mask&lt;float&gt;(1.f)</tt> continues to compile</p></li>
4949
</ol>
50-
</discussion>
5150

52-
<resolution>
51+
<superseded>
5352
<p>
5453
This wording is relative to <paper num="N5014"/>.
5554
</p>
@@ -85,6 +84,85 @@ namespace std::simd {
8584

8685
</li>
8786

87+
</ol>
88+
</superseded>
89+
90+
<note>2025-10-06; Matthias Kretz improves wording after reflector discussion</note>
91+
</discussion>
92+
93+
<resolution>
94+
<p>
95+
This wording is relative to <paper num="N5014"/>.
96+
</p>
97+
98+
<ol>
99+
100+
<li><p>Modify <sref ref="[simd.mask.overview]"/>, <tt>class template basic_mask</tt> synopsis, as indicated:</p>
101+
102+
<blockquote>
103+
<pre>
104+
namespace std::simd {
105+
template&lt;size_t Bytes, class Abi&gt; class basic_mask {
106+
public:
107+
[&hellip;]
108+
109+
constexpr basic_mask() noexcept = default;
110+
111+
// <i><sref ref="[simd.mask.ctor]"/>, basic_mask constructors</i>
112+
constexpr explicit basic_mask(<ins>same_as&lt;</ins>value_type<ins>&gt; auto</ins>) noexcept;
113+
template&lt;size_t UBytes, class UAbi&gt;
114+
constexpr explicit basic_mask(const basic_mask&lt;UBytes, UAbi&gt;&amp;) noexcept;
115+
template&lt;class G&gt;
116+
constexpr explicit basic_mask(G&amp;&amp; gen) noexcept;
117+
<ins>template&lt;same_as&lt;bitset&lt;size()&gt;&gt; T&gt;</ins>
118+
constexpr basic_mask(const <ins>T</ins><del>bitset&lt;size()&gt;</del>&amp; b) noexcept;
119+
<ins>template&lt;unsigned_integral T&gt; requires (!same_as&lt;T, value_type&gt;)</ins>
120+
constexpr explicit basic_mask(<ins>T</ins><del>unsigned_integral auto</del> val) noexcept;
121+
122+
[&hellip;]
123+
};
124+
}
125+
</pre>
126+
</blockquote>
127+
128+
</li>
129+
130+
<li><p>Modify <sref ref="[simd.mask.ctor]"/> as indicated:</p>
131+
132+
<blockquote>
133+
<pre>
134+
constexpr explicit basic_mask(<ins>same_as&lt;</ins>value_type<ins>&gt; auto</ins> x) noexcept;
135+
</pre>
136+
<blockquote>
137+
<p>
138+
-1- <i>Effects</i>: Initializes each element with `x`.
139+
</p>
140+
</blockquote>
141+
[&hellip;]
142+
<pre>
143+
<ins>template&lt;same_as&lt;bitset&lt;size()&gt;&gt; T&gt;</ins>
144+
constexpr basic_mask(const <ins>T</ins><del>bitset&lt;size()&gt;</del>&amp; b) noexcept;
145+
</pre>
146+
<blockquote>
147+
<p>
148+
-7- <i>Effects</i>: Initializes the <tt><i>i</i></tt><sup>th</sup> element with <tt>b[<i>i</i>]</tt>
149+
for all <tt><i>i</i></tt> in the range `[0, size())`.
150+
</p>
151+
</blockquote>
152+
<pre>
153+
<ins>template&lt;unsigned_integral T&gt; requires (!same_as&lt;T, value_type&gt;)</ins>
154+
constexpr explicit basic_mask(<ins>T</ins><del>unsigned_integral auto</del> val) noexcept;
155+
</pre>
156+
<blockquote>
157+
<p>
158+
-8- <i>Effects</i>: Initializes the first <tt><i>M</i></tt> elements to the corresponding bit values
159+
in `val`, [&hellip;]
160+
</p>
161+
</blockquote>
162+
</blockquote>
163+
164+
</li>
165+
88166
</ol>
89167
</resolution>
90168

0 commit comments

Comments
 (0)