39typedef std::set<double, std::less<double>, std::allocator<double> >
Set;
44 std::ostringstream
strm;
46 typedef std::ostream_iterator<double, char, std::char_traits<char> >
Iter;
48 std::copy (
s.begin (),
s.end (),
Iter (std::cout,
" "));
50 const std::ostream::sentry guard (
out);
54 const std::string
data =
strm.str ();
56 if ( std::streamsize (
data.size ())
57 !=
out.rdbuf ()->sputn (
data.data (),
data.size ()))
58 out.setstate (std::ios::badbit);
70 for (Set::value_type
i = 0;
i < 10; ++
i)
74 std::cout << sd <<
"\n\n";
77 Set::iterator sdi = sd.begin();
78 std::advance (sdi, sd.size () / 2);
79 sd.erase (sd.begin(), sdi);
82 std::cout << sd <<
"\n\n";
87 for (Set::value_type
j = 1;
j < 9; ++
j)
90 std::cout << sd2 << std::endl;
93 std::set_union (sd.begin (),sd.end (),sd2.begin (), sd2.end (),
94 std::inserter (sdResult, sdResult.begin ()));
96 std::cout <<
"Union:\n" << sdResult <<
'\n';
98 sdResult.erase (sdResult.begin (),sdResult.end ());
100 std::set_intersection (sd.begin (), sd.end (), sd2.begin (), sd2.end (),
101 std::inserter (sdResult, sdResult.begin ()));
103 std::cout <<
"Intersection:\n" << sdResult <<
'\n';
std::ostream_iterator< int, char, std::char_traits< char > > Iter
std::ostream & operator<<(std::ostream &out, const Set &s)
std::set< double, std::less< double >, std::allocator< double > > Set