Skip to content

Commit 12355ae

Browse files
mattkretzjwakely
authored andcommitted
More updates to P/R for 4420 after LWG discussion
1 parent 92fdfe3 commit 12355ae

File tree

1 file changed

+25
-6
lines changed

1 file changed

+25
-6
lines changed

xml/issue4420.xml

Lines changed: 25 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -353,10 +353,23 @@ template<class V = see below , contiguous_iterator I, sized_sentinel_for<I
353353
</pre>
354354
<blockquote>
355355
<p>
356-
-6- Let [&hellip;]
357-
<p/>
358-
[&hellip;]
359-
<p/>
356+
-6- Let
357+
</p>
358+
<ol style="list-style-type: none">
359+
<li><p>
360+
(6.1) &mdash; <tt>mask</tt> be <tt>V::mask_type(true)</tt> for the overloads with no <tt>mask</tt> parameter;
361+
</p></li>
362+
<li><p>
363+
(6.2) &mdash; <tt>R</tt> be <tt>span&lt;const iter_value_t&lt;I&gt;&gt;</tt> for the overloads with no template parameter <tt>R</tt>;
364+
</p></li>
365+
<li><p>
366+
(6.3) &mdash; <tt>r</tt> be <tt>R(first, n)</tt> for the overloads with an <tt>n</tt> parameter and <tt>R(first, last)</tt> for the overloads with a <tt>last</tt> parameter<del>.</del><ins>;</ins>
367+
</p></li>
368+
<li><p>
369+
<ins>(6.?) &mdash; <tt>T</tt> be <tt>typename V::value_type</tt>.</ins>
370+
</p></li>
371+
</ol>
372+
<p>
360373
-7- <i>Mandates</i>:
361374
</p>
362375
<ol style="list-style-type: none">
@@ -445,7 +458,7 @@ template&lt;class T, class Abi, contiguous_iterator I, sized_sentinel_for&lt;I&g
445458
</p>
446459
<ol style="list-style-type: none">
447460
<li><p>
448-
<ins>(?.1) &mdash; <tt>ranges::iterator_t&lt;R&gt;</tt> satisfies
461+
<ins>(?.1) &mdash; <tt>ranges::iterator_t&lt;R&gt;</tt> models
449462
<tt>indirectly_writable&lt;ranges::range_value_t&lt;R&gt;&gt;</tt>, and</ins>
450463
</p></li>
451464
<li><p>
@@ -511,14 +524,20 @@ template&lt;<i>simd-vec-type</i> V, ranges::contiguous_range R, <i>simd-integral
511524
<ins>(14.1) &mdash;</ins> `V::size() == I::size()` is `true`<ins>,</ins>
512525
</p></li>
513526
<li><p>
514-
<ins>(14.2) &mdash; <tt>ranges::iterator_t&lt;R&gt;</tt> satisfies
527+
<ins>(14.2) &mdash; <tt>ranges::iterator_t&lt;R&gt;</tt> models
515528
<tt>indirectly_writable&lt;ranges::range_value_t&lt;R&gt;&gt;</tt>, and</ins>
516529
</p></li>
517530
<li><p>
518531
<ins>(14.3) &mdash; `typename V::value_type` satisfies
519532
<tt><i>explicitly-convertible-to</i>&lt;ranges::range_value_t&lt;R&gt;&gt;</tt></ins>.
520533
</p></li>
521534
</ol>
535+
[&hellip;]
536+
<p>
537+
-17- <i>Effects</i>: For all <i>i</i> in the range [<tt>0</tt>, <tt>I::size()</tt>), if <tt>mask[<i>i</i>]
538+
&amp;&amp; (indices[<i>i</i>] &lt; ranges::size(out))</tt> is <tt>true</tt>, evaluates
539+
<tt>ranges::data(out)[indices[<i>i</i>]] = <ins>static_cast&lt;ranges::range_value_t&lt;R&gt;&gt;(</ins>v[<i>i</i>]<ins>)</ins></tt>.
540+
</p>
522541
</blockquote>
523542
</blockquote>
524543
</li>

0 commit comments

Comments
 (0)