multimap value_comp() function in C++ STL

The multimap::value_comp() method returns a comparison object that can be used to compare two elements to get whether the key of the first one goes before the second. Here the 1st object compares the object of type std::multimap::type. The arguments taken by this function object are of member type type. It is defined in multimap as an alias of pair.


multimap::compared_value value_comp() const;

Here compared_value is a nested class type

Parameters: It does not accepts any parameter.

Return Value: This method returns the comparison object which is an object of the member type multimap::compared_value, which is a nested class that uses the internal comparison object to generate the appropriate comparison functional class.

Below program illustrate the multimap value_comp() function:





// C++ program to show
// the use of multimap::value_comp
#include <iostream>
#include <map>
using namespace std;
int main()
    multimap<char, int> m;
    // making of pair
    m.insert(make_pair('a', 10));
    m.insert(make_pair('b', 20));
    m.insert(make_pair('c', 30));
    m.insert(make_pair('d', 40));
    pair<char, int> p = *m.rbegin();
    // last element
    multimap<char, int>::iterator i = m.begin();
    do {
        cout << (*i).first
             << " = " << (*i).second
             << '\n';
    } while (m.value_comp()(*i++, p));
    return 0;



a = 10
b = 20
c = 30
d = 40

Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready.

My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using or mail your article to See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.