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:
CPP
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:
// 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;
}
Output:
a = 10 b = 20 b = 30 c = 40