cpp/algorithm/ranges/for each

@1@ Applies the given function object to the result of the value projected by each iterator in the range, in order. @2@ Same as, but uses as the source range, as if using  as  and  as.

For both overloads, if the iterator type is mutable, may modify the elements of the range through the dereferenced iterator. If returns a result, the result is ignored.

Complexity
Exactly applications of  and.