Mega Code Archive

 
Categories / C++ Tutorial / Map Multimap
 

Erase a range from the multimap

#include <map> #include <iostream> #include <string> using namespace std; typedef multimap <int, string> MULTIMAP_INT_STRING; int main () {     MULTIMAP_INT_STRING  mmapIntToString;     mmapIntToString.insert (MULTIMAP_INT_STRING::value_type (3, "Three"));     mmapIntToString.insert (MULTIMAP_INT_STRING::value_type(45, "Forty Five"));     // Erase a range from the multimap...     cout << "Erasing the range of pairs with 1000 as key." << endl;     mmapIntToString.erase ( mmapIntToString.lower_bound (1000)         , mmapIntToString.upper_bound (1000) );     cout << endl;     cout << "The multimap now contains " << mmapIntToString.size ();     cout << " key-value pair(s)." << "They are: " << endl;     MULTIMAP_INT_STRING::const_iterator iPairLocator;     // Print the contents of the multimap to the screen     for ( iPairLocator = mmapIntToString.begin ()         ; iPairLocator != mmapIntToString.end ()         ; ++ iPairLocator )     {         cout << "Key: " << iPairLocator->first;         cout << ", Value: " << iPairLocator->second.c_str () << endl;     }     return 0; }