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