#include #include #include template void print(std::multiset s) { for(auto it = s.cbegin(); it!=s.cend(); it++) std::cout << *it << " "; std::cout << std::endl; } int main(int argc, char *argv[]) { std::multiset strset; strset.emplace("orange"); strset.emplace("apple"); strset.emplace("mango"); strset.emplace("cherry"); strset.emplace("melon"); strset.emplace("apricot"); strset.emplace("pineapple"); strset.emplace("mango"); strset.emplace("apricot"); strset.emplace("apple"); strset.emplace("apple"); print(strset); auto lower_it = strset.lower_bound("apricot"); auto upper_it = strset.upper_bound("kiwi"); strset.erase(lower_it, upper_it); print(strset); auto range = strset.equal_range("mango"); strset.erase(range.first,range.second); print(strset); //Searching for mango again... range = strset.equal_range("mango"); if(range.first == range.second) std::cout << "range.first == range.second\n"; return 0; }