multimap key_comp in C++ STL

This is the part of Standard Template Library(STL) of C++. To use this STL, use Namespace: std and include “map” header file in the program.
It returns the function object or comparison object or ordering delegate that compares the keys, which is a copy of this container’s constructor argument.
It is a function pointer or an object that takes two arguments of the same type as the element keys and determines the order of the elements in the container.

Syntax:

key_compare key_comp();

Here key_compare is the type of the comparison object, which is associated to the container.

Parameters:

It does not accept any parameter.

Returns:

It returns the key comparison function object or ordering delegate, which is defined in multimap as an alias of its third template parameter.

Below is an example of multimap::key_comp:

filter_none

edit
close

play_arrow

link
brightness_4
code

// c++ program to show
// the use of multimap::key_comp
#include <iostream>
#include <map>
using namespace std;
  
// Driver code
int main()
{
    multimap<char, int> m1;
  
    //'comp' works as a variable
    multimap<char, int>::key_compare comp = m1.key_comp();
  
    // set the values of the pairs
    m1.insert(make_pair('a', 10));
    m1.insert(make_pair('b', 20));
    m1.insert(make_pair('b', 30));
    m1.insert(make_pair('c', 40));
  
    // key value of last element
    char h = m1.rbegin()->first;
    multimap<char, int>::iterator i = m1.begin();
    do {
        cout << (*i).first << " = " << (*i).second << '\n';
    } while (comp((*i++).first, h));
  
    return 0;
}

chevron_right


Output:

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


My Personal Notes arrow_drop_up


Article Tags :
Practice Tags :


Be the First to upvote.


Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.