/* * set-03.cc Standard Library, std::set, exercise 3. */ #include #include #include using namespace std; template ostream& operator<<(ostream& os, const set& s) { copy(begin(s), end(s), ostream_iterator(cout, " ")); return os; } template set operator+(const set& lhs, const set& rhs) { set result{ lhs }; result.insert(begin(rhs), end(rhs)); return result; } int main() { set s1{ "foo", "bar", "gazonk", "foobar" }; set s2{ "foo", "fum", "godzilla", "bar" }; cout << '\n'; cout << "s1: " << s1 << '\n'; cout << "s2: " << s2 << "\n\n"; cout << "s1 + s2: " << s1 + s2 << '\n'; return 0; }