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