template < class InputIterator, class OutputIterator, class UnaryOperator > OutputIterator transform ( InputIterator first1, InputIterator last1, OutputIterator result, UnaryOperator op ); template < class InputIterator1, class InputIterator2, class OutputIterator, class BinaryOperator > OutputIterator transform ( InputIterator1 first1, InputIterator1 last1, InputIterator2 first2, OutputIterator result, BinaryOperator binary_op );
Apply function to range
The first version applies
op
to all the elements in the input range (
[first1,last1)
) and stores each returned value in the range beginning at
result
.
The second version uses as argument for each call to binary_op one element from the first input range ( [first1,last1) ) and one element from the second input range (beginning at first2 ).
The behavior of this function template is equivalent to:
| |
The function allows for the destination range to be the same as one of the input ranges to make transformations in place .
Parameters
-
first1, last1
- Input iterators to the initial and final positions of the first sequence. The range used is [first1,last1), which contains all the elements between first1 and last1, including the element pointed by first1 but not the element pointed by last1. first2
- Input iterator to the initial position of the second range. The range includes as many elements as [first1,last1). result
- Output iterator to the initial position of the range where function results are stored. The range includes as many elements as [first1,last1). op
- Unary function taking one element as argument, and returning some result value. This can either be a pointer to a function or an object whose class overloads operator(). binary_op
- Binary function taking two elements as argument (one of each of the two sequences), and returning some result value. This can either be a pointer to a function or an object whose class overloads operator().
Return value
An iterator pointing to the element that follows the last element written in the result sequence.Example
| |
Output:
first contains: 21 41 61 81 101 |