@@ -457,153 +457,6 @@ <h1>For loop</h1>
457
457
</ cxx-function >
458
458
</ cxx-section >
459
459
460
- < cxx-section id ="parallel.alg.foreach ">
461
- < h1 > < del > For each</ del > </ h1 >
462
-
463
- < cxx-function >
464
- < cxx-signature > < del > template<class ExecutionPolicy,
465
- class InputIterator, class Function>
466
- void for_each(ExecutionPolicy&& exec,
467
- InputIterator first, InputIterator last,
468
- Function f);</ del > </ cxx-signature >
469
-
470
- < del >
471
- < cxx-effects >
472
- < del >
473
- Applies < code > f</ code > to the result of dereferencing every iterator in the range < code > [first,last)</ code > .
474
-
475
- < cxx-note >
476
- If the type of < code > first</ code > satisfies the requirements of a mutable iterator, < code > f</ code > may
477
- apply nonconstant functions through the dereferenced iterator.
478
- </ cxx-note >
479
- </ del >
480
- </ cxx-effects >
481
- </ del >
482
-
483
- < del >
484
- < cxx-complexity >
485
- < del > Applies < code > f</ code > exactly < code > last - first</ code > times.</ del >
486
- </ cxx-complexity >
487
- </ del >
488
-
489
- < del >
490
- < cxx-remarks >
491
- < del > If < code > f</ code > returns a result, the result is ignored.</ del >
492
- </ cxx-remarks >
493
- </ del >
494
-
495
- < del >
496
- < cxx-notes >
497
- < del >
498
- Unlike its sequential form, the parallel overload of < code > for_each</ code > does not return a copy of
499
- its < code > Function</ code > parameter, since parallelization may not permit efficient state
500
- accumulation.
501
- </ del >
502
- </ cxx-notes >
503
- </ del >
504
-
505
- < del >
506
- < cxx-requires >
507
- < del >
508
- Unlike its sequential form, the parallel overload of < code > for_each</ code > requires
509
- < code > Function</ code > to meet the requirements of < code > CopyConstructible</ code > .
510
- </ del >
511
- </ cxx-requires >
512
- </ del >
513
- </ cxx-function >
514
-
515
- < cxx-function >
516
- < cxx-signature > < del > template<class InputIterator, class Size, class Function>
517
- InputIterator for_each_n(InputIterator first, Size n,
518
- Function f);</ del > </ cxx-signature >
519
-
520
- < del >
521
- < cxx-requires >
522
- < del >
523
- < code > Function</ code > shall meet the requirements of < code > MoveConstructible</ code >
524
-
525
- < cxx-note >
526
- < code > Function</ code > need not meet the requirements of < code > CopyConstructible</ code > .
527
- </ cxx-note >
528
- </ del >
529
- </ cxx-requires >
530
- </ del >
531
-
532
- < del >
533
- < cxx-effects >
534
- < del >
535
- Applies < code > f</ code > to the result of dereferencing every iterator in the range
536
- < code > [first,first + n)</ code > , starting from < code > first</ code > and proceeding to < code > first + n - 1</ code > .
537
-
538
- < cxx-note >
539
- If the type of < code > first</ code > satisfies the requirements of a mutable iterator,
540
- < code > f</ code > may apply nonconstant functions through the dereferenced iterator.
541
- </ cxx-note >
542
- </ del >
543
- </ cxx-effects >
544
- </ del >
545
-
546
- < del >
547
- < cxx-returns >
548
- < del >
549
- < code > first + n</ code > for non-negative values of < code > n</ code > and < code > first</ code > for negative values.
550
- </ del >
551
- </ cxx-returns >
552
- </ del >
553
-
554
- < del >
555
- < cxx-remarks >
556
- < del >
557
- If < code > f</ code > returns a result, the result is ignored.
558
- </ del >
559
- </ cxx-remarks >
560
- </ del >
561
- </ cxx-function >
562
-
563
- < cxx-function >
564
- < cxx-signature > < del > template<class ExecutionPolicy,
565
- class InputIterator, class Size, class Function>
566
- InputIterator for_each_n(ExecutionPolicy && exec,
567
- InputIterator first, Size n,
568
- Function f);</ del > </ cxx-signature >
569
-
570
- < del >
571
- < cxx-effects >
572
- < del >
573
- Applies < code > f</ code > to the result of dereferencing every iterator in the range
574
- < code > [first,first + n)</ code > , starting from < code > first</ code > and proceeding to < code > first + n - 1</ code > .
575
-
576
- < cxx-note >
577
- If the type of < code > first</ code > satisfies the requirements of a mutable iterator,
578
- < code > f</ code > may apply nonconstant functions through the dereferenced iterator.
579
- </ cxx-note >
580
- </ del >
581
- </ cxx-effects >
582
- </ del >
583
-
584
- < del >
585
- < cxx-returns >
586
- < del > < code > first + n</ code > for non-negative values of < code > n</ code > and < code > first</ code > for negative values.</ del >
587
- </ cxx-returns >
588
- </ del >
589
-
590
- < del >
591
- < cxx-remarks >
592
- < del > If < code > f</ code > returns a result, the result is ignored.</ del >
593
- </ cxx-remarks >
594
- </ del >
595
-
596
- < del >
597
- < cxx-notes >
598
- < del >
599
- Unlike its sequential form, the parallel overload of < code > for_each_n</ code > requires
600
- < code > Function</ code > to meet the requirements of < code > CopyConstructible</ code > .
601
- </ del >
602
- </ cxx-notes >
603
- </ del >
604
- </ cxx-function >
605
- </ cxx-section >
606
-
607
460
< cxx-section id ="parallel.alg.novec ">
608
461
< h1 > No vec</ h1 >
609
462
0 commit comments