User:Cjdb/cpp/algorithm/ranges/transform

Description
takes one or two ranges as input, applies a function to the corresponding elements, and writes the result to an output range.

API
Applies the given function to a range and stores the result in another range, beginning at. @1@ The unary operation is applied to the range defined by  (after projecting with the projection ). @2@ Same as, but uses as the source range, as if using  as  and  as. @3@ The binary operation is applied to pairs of elements from two ranges: one defined by  and the other defined by  (after respectively projecting with the projections  and ). @4@ Same as, but uses as the first source range, as if using  as  and  as , and similarly for.

Return value
@1-2@ a contains an input iterator equal to  and an output iterator to the element past the last element transformed. @3-4@ a contains input iterators to last transformed elements from ranges  and  as  and  respectively, and the output iterator to the element past the last element transformed as.

Complexity
@1,2@ Exactly applications of  and.

@3,4@ Exactly applications of  and projections.