std::multimap<Key,T,Compare,Allocator>::value_comp - cppreference.com

From cppreference.com

std::multimap::value_comparevalue_comp()const;Returns a function object that compares objects of type std::multimap::

value_type

(key-value pairs) by using

key_comp

to compare the first components of the pairs.

Return value

The value 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::multimap<int,char,ModCmp>cont;cont={{1,'a'},{2,'b'},{3,'c'},{4,'d'},{5,'e'}};autocomp_func=cont.value_comp();for(conststd::pair<int,char>val={100,'a'};autoit:cont){constboolbefore=comp_func(it,val);constboolafter=comp_func(val,it);std::cout<<'('<<it.first<<','<<it.second<<") ";if(!before&&!after)std::cout<<"equivalent to key ("<<val.first<<")\n";elseif(before)std::cout<<"goes before key ("<<val.first<<")\n";elseif(after)std::cout<<"goes after key ("<<val.first<<")\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
(public member function)

[edit]