@@ -348,7 +348,8 @@ <h1>Definitions</h1>
348
348
< li > < code > a1</ code > when < code > N</ code > is < code > 1</ code > </ li >
349
349
350
350
< li >
351
- < code > op(< em > GENERALIZED_NONCOMMUTATIVE_SUM</ em > (op, a1, ..., aK), < em > GENERALIZED_NONCOMMUTATIVE_SUM</ em > (op, aM, ..., aN)</ code > where < code > 1 < K+1 = M ≤ N</ code > .
351
+ < code > op(< em > GENERALIZED_NONCOMMUTATIVE_SUM</ em > (op, a1, ..., aK), < em > GENERALIZED_NONCOMMUTATIVE_SUM</ em > (op, aM, </ code > < br >
352
+ < code > ..., aN)</ code > where < code > 1 < K+1 = M ≤ N</ code > .
352
353
</ li >
353
354
</ ul >
354
355
</ p >
@@ -389,13 +390,11 @@ <h1>Header <code><experimental/algorithm></code> synopsis</h1>
389
390
< h1 > For each</ h1 >
390
391
391
392
< cxx-function >
392
- < cxx-signature >
393
- template<class ExecutionPolicy,
394
- class InputIterator, class Function>
395
- void for_each(ExecutionPolicy&& exec,
396
- InputIterator first, InputIterator last,
397
- Function f);
398
- </ cxx-signature >
393
+ < cxx-signature > template<class ExecutionPolicy,
394
+ class InputIterator, class Function>
395
+ void for_each(ExecutionPolicy&& exec,
396
+ InputIterator first, InputIterator last,
397
+ Function f);</ cxx-signature >
399
398
400
399
< cxx-effects >
401
400
Applies < code > f</ code > to the result of dereferencing every iterator in the range < code > [first,last)</ code > .
@@ -426,11 +425,9 @@ <h1>For each</h1>
426
425
</ cxx-function >
427
426
428
427
< cxx-function >
429
- < cxx-signature >
430
- template<class InputIterator, class Size, class Function>
431
- InputIterator for_each_n(InputIterator first, Size n,
432
- Function f);
433
- </ cxx-signature >
428
+ < cxx-signature > template<class InputIterator, class Size, class Function>
429
+ InputIterator for_each_n(InputIterator first, Size n,
430
+ Function f);</ cxx-signature >
434
431
435
432
< cxx-requires >
436
433
< code > Function</ code > shall meet the requirements of < code > MoveConstructible</ code >
@@ -460,13 +457,11 @@ <h1>For each</h1>
460
457
</ cxx-function >
461
458
462
459
< cxx-function >
463
- < cxx-signature >
464
- template<class ExecutionPolicy,
465
- class InputIterator, class Size, class Function>
466
- InputIterator for_each_n(ExecutionPolicy && exec,
467
- InputIterator first, Size n,
468
- Function f);
469
- </ cxx-signature >
460
+ < cxx-signature > template<class ExecutionPolicy,
461
+ class InputIterator, class Size, class Function>
462
+ InputIterator for_each_n(ExecutionPolicy && exec,
463
+ InputIterator first, Size n,
464
+ Function f);</ cxx-signature >
470
465
471
466
< cxx-effects >
472
467
Applies < code > f</ code > to the result of dereferencing every iterator in the range
@@ -669,34 +664,28 @@ <h1>Header <code><experimental/numeric></code> synopsis</h1>
669
664
< h1 > Reduce</ h1 >
670
665
671
666
< cxx-function >
672
- < cxx-signature >
673
- template<class InputIterator>
674
- typename iterator_traits<InputIterator>::value_type
675
- reduce(InputIterator first, InputIterator last);
676
- </ cxx-signature >
667
+ < cxx-signature > template<class InputIterator>
668
+ typename iterator_traits<InputIterator>::value_type
669
+ reduce(InputIterator first, InputIterator last);</ cxx-signature >
677
670
678
671
< cxx-effects >
679
672
Same as < code > reduce(first, last, typename iterator_traits<InputIterator>::value_type{})</ code > .
680
673
</ cxx-effects >
681
674
</ cxx-function >
682
675
683
676
< cxx-function >
684
- < cxx-signature >
685
- template<class InputIterator, class T>
686
- T reduce(InputIterator first, InputIterator last, T init);
687
- </ cxx-signature >
677
+ < cxx-signature > template<class InputIterator, class T>
678
+ T reduce(InputIterator first, InputIterator last, T init);</ cxx-signature >
688
679
689
680
< cxx-effects >
690
681
Same as < code > reduce(first, last, init, plus<>())</ code > .
691
682
</ cxx-effects >
692
683
</ cxx-function >
693
684
694
685
< cxx-function >
695
- < cxx-signature >
696
- template<class InputIterator, class T, class BinaryOperation>
697
- T reduce(InputIterator first, InputIterator last, T init,
698
- BinaryOperation binary_op);
699
- </ cxx-signature >
686
+ < cxx-signature > template<class InputIterator, class T, class BinaryOperation>
687
+ T reduce(InputIterator first, InputIterator last, T init,
688
+ BinaryOperation binary_op);</ cxx-signature >
700
689
701
690
< cxx-returns >
702
691
< code > < em > GENERALIZED_SUM</ em > (binary_op, init, *first, ..., *(first + (last - first) - 1))</ code > .
@@ -722,29 +711,21 @@ <h1>Reduce</h1>
722
711
< h1 > Exclusive scan</ h1 >
723
712
724
713
< cxx-function >
725
- < cxx-signature >
726
- template<class InputIterator, class OutputIterator,
727
- class T>
728
- OutputIterator
729
- exclusive_scan(InputIterator first, InputIterator last,
730
- OutputIterator result,
731
- T init);
732
- </ cxx-signature >
714
+ < cxx-signature > template<class InputIterator, class OutputIterator, class T>
715
+ OutputIterator exclusive_scan(InputIterator first, InputIterator last,
716
+ OutputIterator result,
717
+ T init);</ cxx-signature >
733
718
734
719
< cxx-effects >
735
720
Same as < code > exclusive_scan(first, last, result, init, plus<>())</ code > .
736
721
</ cxx-effects >
737
722
</ cxx-function >
738
723
739
724
< cxx-function >
740
- < cxx-signature >
741
- template<class InputIterator, class OutputIterator,
742
- class T, class BinaryOperation>
743
- OutputIterator
744
- exclusive_scan(InputIterator first, InputIterator last,
745
- OutputIterator result,
746
- T init, BinaryOperation binary_op);
747
- </ cxx-signature >
725
+ < cxx-signature > template<class InputIterator, class OutputIterator, class T, class BinaryOperation>
726
+ OutputIterator exclusive_scan(InputIterator first, InputIterator last,
727
+ OutputIterator result,
728
+ T init, BinaryOperation binary_op);</ cxx-signature >
748
729
749
730
< cxx-effects >
750
731
Assigns through each iterator < code > i</ code > in < code > [result,result + (last - first))</ code > the
@@ -777,34 +758,24 @@ <h1>Exclusive scan</h1>
777
758
< h1 > Inclusive scan</ h1 >
778
759
779
760
< cxx-function >
780
- < cxx-signature >
781
- template<class InputIterator, class OutputIterator>
782
- OutputIterator
783
- inclusive_scan(InputIterator first, InputIterator last,
784
- OutputIterator result);
785
- </ cxx-signature >
761
+ < cxx-signature > template<class InputIterator, class OutputIterator>
762
+ OutputIterator inclusive_scan(InputIterator first, InputIterator last,
763
+ OutputIterator result);</ cxx-signature >
786
764
787
765
< cxx-effects >
788
766
Same as < code > inclusive_scan(first, last, result, plus<>())</ code > .
789
767
</ cxx-effects >
790
768
</ cxx-function >
791
769
792
770
< cxx-function >
793
- < cxx-signature >
794
- template<class InputIterator, class OutputIterator,
795
- class BinaryOperation>
796
- OutputIterator
797
- inclusive_scan(InputIterator first, InputIterator last,
798
- OutputIterator result,
799
- BinaryOperation binary_op);
800
-
801
- template<class InputIterator, class OutputIterator,
802
- class BinaryOperation>
803
- OutputIterator
804
- inclusive_scan(InputIterator first, InputIterator last,
805
- OutputIterator result,
806
- BinaryOperation binary_op, T init);
807
- </ cxx-signature >
771
+ < cxx-signature > template<class InputIterator, class OutputIterator, class BinaryOperation>
772
+ OutputIterator inclusive_scan(InputIterator first, InputIterator last,
773
+ OutputIterator result,
774
+ BinaryOperation binary_op);</ cxx-signature >
775
+ < cxx-signature > template<class InputIterator, class OutputIterator, class BinaryOperation>
776
+ OutputIterator inclusive_scan(InputIterator first, InputIterator last,
777
+ OutputIterator result,
778
+ BinaryOperation binary_op, T init);</ cxx-signature >
808
779
809
780
< cxx-effects >
810
781
Assigns through each iterator < code > i</ code > in < code > [result,result + (last - first))</ code > the value of
@@ -839,14 +810,13 @@ <h1>Inclusive scan</h1>
839
810
< h1 > Transform reduce</ h1 >
840
811
841
812
< cxx-function >
842
- < cxx-signature >
843
- template<class InputIterator, class UnaryFunction, class T, class BinaryOperation>
844
- T transform_reduce(InputIterator first, InputIterator last,
845
- UnaryOperation unary_op, T init, BinaryOperation binary_op);
846
- </ cxx-signature >
813
+ < cxx-signature > template<class InputIterator, class UnaryFunction, class T, class BinaryOperation>
814
+ T transform_reduce(InputIterator first, InputIterator last,
815
+ UnaryOperation unary_op, T init, BinaryOperation binary_op);</ cxx-signature >
847
816
848
817
< cxx-returns >
849
- < code > < em > GENERALIZED_SUM</ em > (binary_op, init, unary_op(*first), ..., unary_op(*(first + (last - first) - 1)))</ code > .
818
+ < code > < em > GENERALIZED_SUM</ em > (binary_op, init, unary_op(*first), ..., unary_op(*(first + (last - first) -</ code > < br >
819
+ < code > 1)))</ code > .
850
820
</ cxx-returns >
851
821
852
822
< cxx-requires >
@@ -867,20 +837,18 @@ <h1>Transform reduce</h1>
867
837
< h1 > Transform exclusive scan</ h1 >
868
838
869
839
< cxx-function >
870
- < cxx-signature >
871
- template<class InputIterator, class OutputIterator,
872
- class UnaryOperation,
873
- class T, class BinaryOperation>
874
- OutputIterator
875
- transform_exclusive_scan(InputIterator first, InputIterator last,
876
- OutputIterator result,
877
- UnaryOperation unary_op,
878
- T init, BinaryOperation binary_op);
879
- </ cxx-signature >
840
+ < cxx-signature > template<class InputIterator, class OutputIterator,
841
+ class UnaryOperation,
842
+ class T, class BinaryOperation>
843
+ OutputIterator transform_exclusive_scan(InputIterator first, InputIterator last,
844
+ OutputIterator result,
845
+ UnaryOperation unary_op,
846
+ T init, BinaryOperation binary_op);</ cxx-signature >
880
847
881
848
< cxx-effects >
882
849
Assigns through each iterator < code > i</ code > in < code > [result,result + (last - first))</ code > the value of
883
- < code > < em > GENERALIZED_NONCOMMUTATIVE_SUM</ em > (binary_op, init, unary_op(*first), ..., unary_op(*(first + (i - result) - 1)))</ code > .
850
+ < code > < em > GENERALIZED_NONCOMMUTATIVE_SUM</ em > (binary_op, init, unary_op(*first), ..., unary_op(*(first + (i</ code > < br >
851
+ < code > - result) - 1)))</ code > .
884
852
</ cxx-effects >
885
853
886
854
< cxx-returns >
@@ -908,30 +876,28 @@ <h1>Transform exclusive scan</h1>
908
876
< h1 > Transform inclusive scan</ h1 >
909
877
910
878
< cxx-function >
911
- < cxx-signature >
912
- template<class InputIterator, class OutputIterator,
913
- class UnaryOperation,
914
- class BinaryOperation>
915
- OutputIterator
916
- transform_inclusive_scan(InputIterator first, InputIterator last,
917
- OutputIterator result,
918
- UnaryOperation unary_op,
919
- BinaryOperation binary_op);
920
-
921
- template<class InputIterator, class OutputIterator,
922
- class UnaryOperation,
923
- class BinaryOperation, class T>
924
- OutputIterator
925
- transform_inclusive_scan(InputIterator first, InputIterator last,
926
- OutputIterator result,
927
- UnaryOperation unary_op,
928
- BinaryOperation binary_op, T init);
929
- </ cxx-signature >
879
+ < cxx-signature > template<class InputIterator, class OutputIterator,
880
+ class UnaryOperation,
881
+ class BinaryOperation>
882
+ OutputIterator transform_inclusive_scan(InputIterator first, InputIterator last,
883
+ OutputIterator result,
884
+ UnaryOperation unary_op,
885
+ BinaryOperation binary_op);</ cxx-signature >
886
+
887
+ < cxx-signature > template<class InputIterator, class OutputIterator,
888
+ class UnaryOperation,
889
+ class BinaryOperation, class T>
890
+ OutputIterator transform_inclusive_scan(InputIterator first, InputIterator last,
891
+ OutputIterator result,
892
+ UnaryOperation unary_op,
893
+ BinaryOperation binary_op, T init);</ cxx-signature >
930
894
931
895
< cxx-effects >
932
896
Assigns through each iterator < code > i</ code > in < code > [result,result + (last - first))</ code > the value of
933
- < code > < em > GENERALIZED_NONCOMMUTATIVE_SUM</ em > (binary_op, unary_op(*first), ..., unary_op(*(first + (i - result))))</ code > or
934
- < code > < em > GENERALIZED_NONCOMMUTATIVE_SUM</ em > (binary_op, init, unary_op(*first), ..., unary_op(*(first + (i - result))))</ code >
897
+ < code > < em > GENERALIZED_NONCOMMUTATIVE_SUM</ em > (binary_op, unary_op(*first), ..., unary_op(*(first + (i -</ code > < br >
898
+ < code > result))))</ code > or
899
+ < code > < em > GENERALIZED_NONCOMMUTATIVE_SUM</ em > (binary_op, init, unary_op(*first), ..., unary_op(*(first + (i</ code > < br >
900
+ < code > - result))))</ code >
935
901
if < code > init</ code > is provided.
936
902
</ cxx-effects >
937
903
0 commit comments