38typedef std::multiset<int, std::less<int>, std::allocator<int> >
IntSet;
43 std::ostringstream
strm;
45 typedef std::ostream_iterator<int, char, std::char_traits<char> >
50 const std::ostream::sentry guard (
out);
53 const std::string
data =
strm.str ();
55 if ( std::streamsize (
data.size ())
56 !=
out.rdbuf ()->sputn (
data.data (),
data.size ()))
57 out.setstate (std::ios::badbit);
69 for (IntSet::value_type
j = 0;
j < 2;
j++) {
70 for (IntSet::value_type
i = 0;
i < 10; ++
i)
72 si.insert (si.begin (),
i);
76 std::cout << si << std::endl;
80 for (IntSet::value_type
i = 0;
i < 10;
i++)
83 std::cout << si2 << std::endl;
86 std::set_union (si.begin (), si.end (), si2.begin (), si2.end (),
89 std::cout <<
"Union:\n" <<
result << std::endl;
93 std::set_intersection (si.begin (), si.end (), si2.begin (), si2.end (),
96 std::cout <<
"Intersection:\n" <<
result << std::endl;
std::ostream & operator<<(std::ostream &out, const IntSet &s)
std::multiset< int, std::less< int >, std::allocator< int > > IntSet
std::ostream_iterator< int, char, std::char_traits< char > > OstreamIter