// Demonstrating multiset erase functions #include #include #include #include #include using namespace std; template Container make(const char s[]) { return Container(&s[0], &s[strlen(s)]); } #include template string make_string(const Container& c) { string s; copy(c.begin(), c.end(), inserter(s, s.end())); return s; } int main() { cout << "Demonstrating multiset erase functions" << endl; list list1 = make< list >("There is no distinctly native " "American criminal class"); // Put the characters in list1 into multiset1: multiset multiset1; copy(list1.begin(), list1.end(), inserter(multiset1, multiset1.end())); assert (make_string(multiset1) == " ATaaaaccccdeeeehiiiiiiilllmmnnnnnorrrsssstttvy"); multiset1.erase('a'); assert (make_string(multiset1) == " ATccccdeeeehiiiiiiilllmmnnnnnorrrsssstttvy"); multiset::iterator i = multiset1.find('e'); multiset1.erase(i); assert (make_string(multiset1) == " ATccccdeeehiiiiiiilllmmnnnnnorrrsssstttvy"); cout << " --- Ok." << endl; return 0; }