std::map<Key,T,Compare,Allocator>::key_comp - cppreference.com

From cppreference.com

key_comparekey_comp()const;Returns the function object that compares the keys, which is a copy of this container's

constructor

argument comp.

Return value

The key comparison function object.

Complexity

Constant.

Example

Run this code

#include<iostream>#include<map>#include<utility>// Example module 97 key compare functionstructModCmp{booloperator()(intlhs,intrhs)const{return(lhs%97)<(rhs%97);}};intmain(){std::map<int,char,ModCmp>cont;cont={{1,'a'},{2,'b'},{3,'c'},{4,'d'},{5,'e'}};autocomp_func=cont.key_comp();for(constautoit:cont){constboolbefore=comp_func(it.first,100);constboolafter=comp_func(100,it.first);std::cout<<"Key ("<<it.first<<','<<it.second<<") ";if(!before&&!after)std::cout<<"equivalent to key (100)\n";elseif(before)std::cout<<"goes before key (100)\n";elseif(after)std::cout<<"goes after key (100)\n";elsestd::unreachable();}}Output:

(1,a) goes before key (100) (2,b) goes before key (100) (3,c) equivalent to key (100) (4,d) goes after key (100) (5,e) goes after key (100) See also

returns the function that compares keys in objects of type value_type
(public member function)

[edit]