int square(int n) { return n * n; } vector<int> a(10); generate(a.begin(), a.end(), SequenceGenerator(1)); vector<int> b(10); transform(a.begin(), a.end(), b.begin(), square);