@@ -282,39 +282,37 @@ <h1><code>ExecutionPolicy</code> algorithm overloads</h1>
282
282
</ cxx-section >
283
283
284
284
< cxx-section id ="parallel.alg.defns ">
285
- < ins >
286
- < h1 > Definitions</ h1 >
285
+ < h1 > Definitions</ h1 >
287
286
288
- < p >
289
- Define < code > < em > GENERALIZED_SUM</ em > (op, a1, ..., aN)</ code > as follows:
290
-
291
- < ul >
292
- < li > < code > a1</ code > when < code > N</ code > is < code > 1</ code > </ li >
293
-
294
- < li >
295
- < code > op(< em > GENERALIZED_SUM</ em > (op, b1, ..., bM)</ code > , < code > < em > GENERALIZED_SUM</ em > (op, bM, ..., bN))</ code > where
296
-
297
- < ul >
298
- < li > < code > b1, ..., bN</ code > may be any permutation of < code > a1, ..., aN</ code > and</ li >
299
-
300
- < li > < code > 0 < M < N </ code > .</ li >
301
- </ ul >
302
- </ li >
303
- </ ul >
304
- </ p >
305
-
306
- < p >
307
- Define < code > < em > GENERALIZED_NONCOMMUTATIVE_SUM</ em > (op, a1, ..., aN)</ code > as follows:
308
-
309
- < ul >
310
- < li > < code > a1</ code > when < code > N</ code > is < code > 1</ code > </ li >
287
+ < p >
288
+ Define < code > < em > GENERALIZED_SUM</ em > (op, a1, ..., aN)</ code > as follows:
311
289
312
- < li >
313
- < code > op(< em > GENERALIZED_NONCOMMUTATIVE_SUM</ em > (op, a1, ..., aM), < em > GENERALIZED_NONCOMMUTATIVE_SUM</ em > (op, aM, ..., aN)</ code > where < code > 0 < M < N</ code > .
314
- </ li >
315
- </ ul >
316
- </ p >
317
- </ ins >
290
+ < ul >
291
+ < li > < code > a1</ code > when < code > N</ code > is < code > 1</ code > </ li >
292
+
293
+ < li >
294
+ < code > op(< em > GENERALIZED_SUM</ em > (op, b1, ..., bM)</ code > , < code > < em > GENERALIZED_SUM</ em > (op, bM, ..., bN))</ code > where
295
+
296
+ < ul >
297
+ < li > < code > b1, ..., bN</ code > may be any permutation of < code > a1, ..., aN</ code > and</ li >
298
+
299
+ < li > < code > 0 < M < N</ code > .</ li >
300
+ </ ul >
301
+ </ li >
302
+ </ ul >
303
+ </ p >
304
+
305
+ < p >
306
+ Define < code > < em > GENERALIZED_NONCOMMUTATIVE_SUM</ em > (op, a1, ..., aN)</ code > as follows:
307
+
308
+ < ul >
309
+ < li > < code > a1</ code > when < code > N</ code > is < code > 1</ code > </ li >
310
+
311
+ < li >
312
+ < code > op(< em > GENERALIZED_NONCOMMUTATIVE_SUM</ em > (op, a1, ..., aM), < em > GENERALIZED_NONCOMMUTATIVE_SUM</ em > (op, aM, ..., aN)</ code > where < code > 0 < M < N</ code > .
313
+ </ li >
314
+ </ ul >
315
+ </ p >
318
316
</ cxx-section >
319
317
320
318
< cxx-section id ="parallel.alg.novel ">
@@ -331,21 +329,12 @@ <h1>Header <code><experimental/algorithm></code> synopsis</h1>
331
329
namespace parallel {
332
330
template<class ExecutionPolicy,
333
331
class InputIterator, class Function>
334
- < del > InputIterator for_each(ExecutionPolicy&& exec,</ del >
335
- < del > InputIterator first, InputIterator last,</ del >
336
- < del > Function f);</ del >
337
- < ins > void for_each(ExecutionPolicy&& exec,</ ins >
338
- < ins > InputIterator first, InputIterator last,</ ins >
339
- < ins > Function f);</ ins >
332
+ void for_each(ExecutionPolicy&& exec,
333
+ InputIterator first, InputIterator last,
334
+ Function f);
340
335
template<class InputIterator, class Size, class Function>
341
- < del > Function for_each_n(InputIterator first, Size n,</ del >
342
- < del > Function f);</ del >
343
- < ins > InputIterator for_each_n(InputIterator first, Size n,</ ins >
344
- < ins > Function f);</ ins >
345
- < del > template<class ExecutionPolicy,</ del >
346
- < del > class InputIterator, class Size, class Function></ del >
347
- < del > InputIterator for_each_n(ExecutionPolicy&& exec, InputIterator first, Size n,</ del >
348
- < del > Function f);</ del >
336
+ InputIterator for_each_n(InputIterator first, Size n,
337
+ Function f);
349
338
}
350
339
}
351
340
}
@@ -359,12 +348,9 @@ <h1>For each</h1>
359
348
< cxx-signature >
360
349
template<class ExecutionPolicy,
361
350
class InputIterator, class Function>
362
- < del > InputIterator for_each(ExecutionPolicy&& exec,</ del >
363
- < del > InputIterator first, InputIterator last,</ del >
364
- < del > Function f);</ del >
365
- < ins > void for_each(ExecutionPolicy&& exec,</ ins >
366
- < ins > InputIterator first, InputIterator last,</ ins >
367
- < ins > Function f);</ ins >
351
+ void for_each(ExecutionPolicy&& exec,
352
+ InputIterator first, InputIterator last,
353
+ Function f);
368
354
</ cxx-signature >
369
355
370
356
< cxx-effects >
@@ -376,12 +362,6 @@ <h1>For each</h1>
376
362
</ cxx-note >
377
363
</ cxx-effects >
378
364
379
- < del >
380
- < cxx-returns >
381
- < code > first + (last - first)</ code > .
382
- </ cxx-returns >
383
- </ del >
384
-
385
365
< cxx-complexity >
386
366
Applies < code > f</ code > exactly < code > last - first</ code > times.
387
367
</ cxx-complexity >
@@ -400,10 +380,8 @@ <h1>For each</h1>
400
380
< cxx-function >
401
381
< cxx-signature >
402
382
template<class InputIterator, class Size, class Function>
403
- < del > Function for_each_n(InputIterator first, Size n,</ del >
404
- < del > Function f);</ del >
405
- < ins > InputIterator for_each_n(InputIterator first, Size n,</ ins >
406
- < ins > Function f);</ ins >
383
+ InputIterator for_each_n(InputIterator first, Size n,
384
+ Function f);
407
385
</ cxx-signature >
408
386
409
387
< cxx-requires >
@@ -424,57 +402,10 @@ <h1>For each</h1>
424
402
</ cxx-note >
425
403
</ cxx-effects >
426
404
427
- < cxx-returns >
428
- < del > < code > std::move(f)</ code > </ del > < ins > < code > first + n</ code > </ ins > .
429
- </ cxx-returns >
430
-
431
405
< cxx-remarks >
432
406
If < code > f</ code > returns a result, the result is ignored.
433
407
</ cxx-remarks >
434
408
</ cxx-function >
435
-
436
- < del >
437
- < cxx-function >
438
- < cxx-signature >
439
- template<class ExecutionPolicy,
440
- class InputIterator, class Size, class Function>
441
- InputIterator for_each_n(ExecutionPolicy&& exec,
442
- InputIterator first, Size n,
443
- Function f);
444
- </ cxx-signature >
445
-
446
- < cxx-requires >
447
- < code > Function</ code > shall meet the requirements of < code > MoveConstructible</ code > .
448
-
449
- < cxx-note >
450
- < code > Function</ code > need not meet the requirements of < code > CopyConstructible</ code > .
451
- </ cxx-note >
452
- </ cxx-requires >
453
-
454
- < cxx-effects >
455
- Applies < code > f</ code > to the result of dereferencing every iterator in the range
456
- < code > [first,first + n)</ code > , starting from < code > first</ code > and proceeding to
457
- < code > first + n - 1</ code > .
458
-
459
- < cxx-note >
460
- If the type of < code > first</ code > satisfies the requirements of a mutable iterator,
461
- < code > f</ code > may apply nonconstant functions through the dereferenced iterator.
462
- </ cxx-note >
463
- </ cxx-effects >
464
-
465
- < cxx-returns >
466
- < code > first + n</ code > .
467
- </ cxx-returns >
468
-
469
- < cxx-complexity >
470
- Applies < code > f</ code > exactly < code > n</ code > times.
471
- </ cxx-complexity >
472
-
473
- < cxx-remarks >
474
- If < code > f</ code > returns a result, the result is ignored.
475
- </ cxx-remarks >
476
- </ cxx-function >
477
- </ del >
478
409
</ cxx-section >
479
410
480
411
< cxx-section id ="parallel.alg.novel.numeric.synop ">
@@ -543,11 +474,11 @@ <h1>Reduce</h1>
543
474
</ cxx-signature >
544
475
545
476
< cxx-returns >
546
- < code > reduce(first, last, typename iterator_traits<InputIterator>::value_type< del > (0) </ del > < ins > {} </ ins > )</ code >
477
+ < code > reduce(first, last, typename iterator_traits<InputIterator>::value_type{} )</ code >
547
478
</ cxx-returns >
548
479
549
480
< cxx-requires >
550
- < code > typename iterator_traits<InputIterator>::value_type< del > (0) </ del > < ins > {} </ ins > </ code >
481
+ < code > typename iterator_traits<InputIterator>::value_type{} </ code >
551
482
shall be a valid expression. The < code > operator+</ code > function associated with
552
483
< code > iterator_traits<InputIterator>::value_type</ code > shall not invalidate iterators or
553
484
subranges, nor modify elements in the range < code > [first,last)</ code > .
@@ -630,7 +561,7 @@ <h1>Exclusive scan</h1>
630
561
</ cxx-signature >
631
562
632
563
< cxx-returns >
633
- < code > exclusive_scan(first, last, result, init, plus< > ())</ code >
564
+ < code > exclusive_scan(first, last, result, init, plus<> ())</ code >
634
565
</ cxx-returns >
635
566
636
567
< cxx-requires >
0 commit comments