Namespaces
Variants

std::multimap<Key,T,Compare,Allocator>:: value_comp

From cppreference.net

value_compare value_comp ( ) const ;
(constexpr desde C++26)

Devuelve un objeto función que compara objetos de tipo value_type (pares clave-valor) utilizando key_comp() para comparar los primeros componentes de los pares.

Contenidos

Valor de retorno

El objeto función de comparación de valores.

Complejidad

Constante.

Ejemplo

#include <iostream>
#include <map>
#include <utility>
// Función de comparación de módulo 97
struct ModCmp
{
    bool operator()(int lhs, int rhs) const
    {
        return (lhs % 97) < (rhs % 97);
    }
};
int main()
{
    std::multimap<int, char, ModCmp> cont;
    cont = {{1, 'a'}, {2, 'b'}, {3, 'c'}, {4, 'd'}, {5, 'e'}};
    auto comp_func = cont.value_comp();
    for (const std::pair<int, char> val = {100, 'a'}; auto it : cont)
    {
        const bool before = comp_func(it, val);
        const bool after = comp_func(val, it);
        std::cout << '(' << it.first << ',' << it.second << ") ";
        if (!before && !after)
            std::cout << "equivalent to key (" << val.first << ")\n";
        else if (before)
            std::cout << "goes before key (" << val.first << ")\n";
        else if (after)
            std::cout << "goes after key (" << val.first << ")\n";
        else
            std::unreachable();
    }
}

Salida:

(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)

Véase también

devuelve la función que compara claves
(función miembro pública)