C++ Map Library - erase() Function


Advertisements


Description

The C++ function std::multimap::erase() removes range of element from the the multimap.

This member function reduces size of multimap.

Declaration

Following is the declaration for std::multimap::erase() function form std::map header.

C++98

void erase (iterator first, iterator last);

Parameters

  • first − Input iterator to the initial position in range.

  • last − Input iterator to the final position in range.

Return value

None

Exceptions

No effect on container if exception is thrown.

Time complexity

Linear in the distance between first to last.

Example

The following example shows the usage of std::multimap::erase() function.

Live Demo
#include <iostream>
#include <map>

using namespace std;

int main(void) {
   /* Multimap with duplicates */
   multimap<char, int> m {
            {'a', 1},
            {'a', 2},
            {'b', 3},
            {'c', 4},
            {'c', 5},
         };
   cout << "Multimap contains following elements before erase operation" << endl;

   for (auto it = m.begin(); it != m.end(); ++it)
      cout << it->first << " = " << it->second << endl;

   auto it = m.begin();
   ++it, ++it;

   m.erase(m.begin(), it);

   cout << "Multimap contains following elements after erase operation" << endl;

   for (auto it = m.begin(); it != m.end(); ++it)
      cout << it->first << " = " << it->second << endl;

   return 0;
}

Let us compile and run the above program, this will produce the following result −

Multimap contains following elements before erase operation
a = 1
a = 2
b = 3
c = 4
c = 5
Multimap contains following elements after erase operation
b = 3
c = 4
c = 5

map.htm

Advertisements