Skip to content

Commit b21fc8a

Browse files
committed
Flatten diffs in [parallel.alg.forloop]
1 parent f40f6fe commit b21fc8a

File tree

1 file changed

+66
-78
lines changed

1 file changed

+66
-78
lines changed

algorithms.html

Lines changed: 66 additions & 78 deletions
Original file line numberDiff line numberDiff line change
@@ -340,52 +340,50 @@ <h1>Inductions</h1>
340340
</cxx-section>
341341

342342
<cxx-section id="parallel.alg.forloop">
343-
<h1><ins>For loop</ins></h1>
343+
<h1>For loop</h1>
344344

345345
<cxx-function>
346-
<cxx-signature><ins>template&lt;class I, class... Rest&gt;
347-
void for_loop(no_deduce_t&lt;I&gt; start, I finish, Rest&amp;&amp;... rest);</ins></cxx-signature>
346+
<cxx-signature>template&lt;class I, class... Rest&gt;
347+
void for_loop(no_deduce_t&lt;I&gt; start, I finish, Rest&amp;&amp;... rest);</cxx-signature>
348348

349-
<cxx-signature><ins>template&lt;class ExecutionPolicy,
349+
<cxx-signature>template&lt;class ExecutionPolicy,
350350
class I, class... Rest&gt;
351351
void for_loop(ExecutionPolicy&amp;&amp; exec,
352352
no_deduce_t&lt;I&gt; start, I finish, Rest&amp;&amp;... rest);
353353

354-
</ins></cxx-signature>
354+
</cxx-signature>
355355

356-
<cxx-signature><ins>template&lt;class I, class S, class... Rest&gt;
356+
<cxx-signature>template&lt;class I, class S, class... Rest&gt;
357357
void for_loop_strided(no_deduce_t&lt;I&gt; start, I finish,
358-
S stride, Rest&amp;&amp;... rest);</ins></cxx-signature>
358+
S stride, Rest&amp;&amp;... rest);</cxx-signature>
359359

360-
<cxx-signature><ins>template&lt;class ExecutionPolicy,
360+
<cxx-signature>template&lt;class ExecutionPolicy,
361361
class I, class S, class... Rest&gt;
362362
void for_loop_strided(ExecutionPolicy&amp;&amp; exec,
363363
no_deduce_t&lt;I&gt; start, I finish,
364364
S stride, Rest&amp;&amp;... rest);
365365

366-
</ins></cxx-signature>
366+
</cxx-signature>
367367

368-
<cxx-signature><ins>template&lt;class I, class Size, class... Rest&gt;
369-
void for_loop_n(I start, Size n, Rest&amp;&amp;... rest);</ins></cxx-signature>
368+
<cxx-signature>template&lt;class I, class Size, class... Rest&gt;
369+
void for_loop_n(I start, Size n, Rest&amp;&amp;... rest);</cxx-signature>
370370

371-
<cxx-signature><ins>template&lt;class ExecutionPolicy,
371+
<cxx-signature>template&lt;class ExecutionPolicy,
372372
class I, class Size, class... Rest&gt;
373373
void for_loop_n(ExecutionPolicy&amp;&amp; exec,
374374
I start, Size n, Rest&amp;&amp;... rest);
375375

376-
</ins></cxx-signature>
376+
</cxx-signature>
377377

378-
<cxx-signature><ins>template&lt;class I, class Size, class S, class... Rest&gt;
379-
void for_loop_n_strided(I start, Size n, S stride, Rest&amp;&amp;... rest);</ins></cxx-signature>
378+
<cxx-signature>template&lt;class I, class Size, class S, class... Rest&gt;
379+
void for_loop_n_strided(I start, Size n, S stride, Rest&amp;&amp;... rest);</cxx-signature>
380380

381-
<cxx-signature><ins>template&lt;class ExecutionPolicy,
381+
<cxx-signature>template&lt;class ExecutionPolicy,
382382
class I, class Size, class S, class... Rest&gt;
383383
void for_loop_n_strided(ExecutionPolicy&amp;&amp; exec,
384-
I start, Size n, S stride, Rest&amp;&amp;... rest);</ins></cxx-signature>
384+
I start, Size n, S stride, Rest&amp;&amp;... rest);</cxx-signature>
385385

386-
<ins>
387386
<cxx-requires>
388-
<ins>
389387
For the overloads with an <code>ExecutionPolicy</code>, <code>I</code> shall be an integral type
390388
or meet the requirements of a forward iterator type; otherwise, <code>I</code> shall be an integral
391389
type or meet the requirements of an input iterator type. <code>Size</code> shall be an integral type
@@ -397,75 +395,65 @@ <h1><ins>For loop</ins></h1>
397395
followed by exactly one invocable element-access function, <em>f</em>. For the overloads with an
398396
<code>ExecutionPolicy</code>, <em>f</em> shall meet the requirements of <code>CopyConstructible</code>;
399397
otherwise, <em>f</em> shall meet the requirements of <code>MoveConstructible</code>.
400-
</ins>
401398
</cxx-requires>
402-
</ins>
403399

404-
<ins>
405400
<cxx-effects>
406-
<ins>
407-
Applies <em>f</em> to each element in the <em>input sequence</em>, as described below, with additional
408-
arguments corresponding to the reductions and inductions in the <code>rest</code> parameter pack. The
409-
length of the input sequence is:
410-
411-
<ul>
412-
<li>
413-
<code>n</code>, if specified,
414-
</li>
415-
416-
<li>
417-
otherwise <code>finish - start</code> if neither <code>n</code> nor <code>stride</code> is specified,
418-
</li>
419-
420-
<li>
421-
otherwise <code>1 + (finish-start-1)/stride</code> if <code>stride</code> is positive,
422-
</li>
423-
424-
<li>
425-
otherwise <code>1 + (start-finish-1)/-stride</code>.
426-
</li>
427-
</ul>
428-
429-
The first element in the input sequence is <code>start</code>. Each subsequent element is generated by adding
430-
<code>stride</code> to the previous element, if <code>stride</code> is specified, otherwise by incrementing
431-
the previous element. <cxx-note>As described in the C++ standard, section [algorithms.general], arithmetic
432-
on non-random-access iterators is performed using advance and distance.</cxx-note> <cxx-note>The order of the
433-
elements of the input sequence is important for determining ordinal position of an application of <em>f</em>,
434-
even though the applications themselves may be unordered.</cxx-note></p>
435-
436-
The first argument to <em>f</em> is an element from the input sequence. <cxx-note>if <code>I</code> is an
437-
iterator type, the iterators in the input sequence are not dereferenced before
438-
being passed to <em>f</em>.</cxx-note> For each member of the rest parameter pack
439-
excluding <em>f</em>, an additional argument is passed to each application of <em>f</em> as follows:
440-
441-
<ul>
442-
<li>
443-
If the pack member is an object returned by a call to a reduction function listed in section
444-
[parallel.alg.reductions], then the additional argument is a reference to an accumulator of that reduction
445-
object.
446-
</li>
447-
448-
<li>
449-
If the pack member is an object returned by a call to <code>induction</code>, then the additional argument is the
450-
induction value for that induction object corresponding to the position of the application of <em>f</em> in the input
451-
sequence.
452-
</li>
453-
</ul>
454-
</ins>
401+
Applies <em>f</em> to each element in the <em>input sequence</em>, as described below, with additional
402+
arguments corresponding to the reductions and inductions in the <code>rest</code> parameter pack. The
403+
length of the input sequence is:
404+
405+
<ul>
406+
<li>
407+
<code>n</code>, if specified,
408+
</li>
409+
410+
<li>
411+
otherwise <code>finish - start</code> if neither <code>n</code> nor <code>stride</code> is specified,
412+
</li>
413+
414+
<li>
415+
otherwise <code>1 + (finish-start-1)/stride</code> if <code>stride</code> is positive,
416+
</li>
417+
418+
<li>
419+
otherwise <code>1 + (start-finish-1)/-stride</code>.
420+
</li>
421+
</ul>
422+
423+
The first element in the input sequence is <code>start</code>. Each subsequent element is generated by adding
424+
<code>stride</code> to the previous element, if <code>stride</code> is specified, otherwise by incrementing
425+
the previous element. <cxx-note>As described in the C++ standard, section [algorithms.general], arithmetic
426+
on non-random-access iterators is performed using advance and distance.</cxx-note> <cxx-note>The order of the
427+
elements of the input sequence is important for determining ordinal position of an application of <em>f</em>,
428+
even though the applications themselves may be unordered.</cxx-note></p>
429+
430+
The first argument to <em>f</em> is an element from the input sequence. <cxx-note>if <code>I</code> is an
431+
iterator type, the iterators in the input sequence are not dereferenced before
432+
being passed to <em>f</em>.</cxx-note> For each member of the rest parameter pack
433+
excluding <em>f</em>, an additional argument is passed to each application of <em>f</em> as follows:
434+
435+
<ul>
436+
<li>
437+
If the pack member is an object returned by a call to a reduction function listed in section
438+
[parallel.alg.reductions], then the additional argument is a reference to an accumulator of that reduction
439+
object.
440+
</li>
441+
442+
<li>
443+
If the pack member is an object returned by a call to <code>induction</code>, then the additional argument is the
444+
induction value for that induction object corresponding to the position of the application of <em>f</em> in the input
445+
sequence.
446+
</li>
447+
</ul>
455448
</cxx-effects>
456-
</ins>
457449

458-
<ins>
459450
<cxx-complexity>
460-
<ins>Applies <em>f</em> exactly once for each element of the input sequence.</ins>
451+
Applies <em>f</em> exactly once for each element of the input sequence.
461452
</cxx-complexity>
462-
</ins>
463453

464-
<ins>
465454
<cxx-remarks>
466-
<ins>If <em>f</em> returns a result, the result is ignored.</ins>
455+
If <em>f</em> returns a result, the result is ignored.
467456
</cxx-remarks>
468-
</ins>
469457
</cxx-function>
470458
</cxx-section>
471459

0 commit comments

Comments
 (0)