vector<int> a(10); generate(a.begin(), a.end(), SequenceGenerator(1)); // Initially 1, 2, . . . 10 reverse(a.begin(), a.end()); // Now 10, 9, 8, . . . 2, 1