int main() { std::unordered_set<int> coll; // create inserter for coll // - inconvenient way asso_insert_iterator<decltype(coll)> iter(coll); // insert elements with the usual iterator interface *iter = 1; iter++; *iter = 2; iter++; *iter = 3; PRINT_ELEMENTS(coll); // create inserter for coll and insert elements // - convenient way; asso_inserter(coll) = 44; asso_inserter(coll) = 55; PRINT_ELEMENTS(coll); // use inserter with an algorithm std::vector<int> vals = { 33, 67, -4, 13, 5, 2 }; std::copy (vals.begin(), vals.end(), // source asso_inserter(coll)); // destination PRINT_ELEMENTS(coll); }
int main() { std::set<int> coll1; std::vector<int> coll2; // insert elements from 1 to 9 into coll1 for (int i=1; i<=9; ++i) { coll1.insert(i); } PRINT_ELEMENTS(coll1,"initialized: "); // transform each element from coll1 to coll2 // - square transformed values std::transform (coll1.cbegin(),coll1.cend(), // source std::back_inserter(coll2), // destination square); // operation PRINT_ELEMENTS(coll2,"squared: "); }