Date
2018-03-18.16:03:30
Message id
9754

Content

Proposed resolution:

This wording is relative to N4713.

  1. Modify [transform.reduce] as indicated:

    template<class InputIterator1, class InputIterator2, class T>
      T transform_reduce(InputIterator1 first1, InputIterator1 last1,
                         InputIterator2 first2,
                         T init);
    

    -?- Effects: Equivalent to:

    return transform_reduce(first1, last1, first2, init, plus<>(), multiplies<>());
    
    template<class ExecutionPolicy,
             class ForwardIterator1, class ForwardIterator2, class T>
      T transform_reduce(ExecutionPolicy&& exec,
                         ForwardIterator1 first1, ForwardIterator1 last1,
                         ForwardIterator2 first2,
                         T init);
    

    -1- Effects: Equivalent to:

    return transform_reduce(std::forward<ExecutionPolicy>(exec), first1, last1, first2, init, plus<>(), 
    multiplies<>());