Espacios de nombres
Variantes

std::map<Key,T,Compare,Allocator>::key_comp

De cppreference.com

[edit template]
 
 
 
 
<tbody> </tbody>
key_compare key_comp() const;

Devuelve el objeto función que compara las claves, que es una copia del argumento comp del constructor de este contenedor.

Parámetros

(Ninguno)

Valor de retorno

El objeto función para la comparación de claves.

Complejidad

Constante.

Ejemplo

#include <cassert>
#include <iostream>
#include <...>

// Función módulo 97 de ejemplo para la comparación de claves
struct ModCmp {
    bool operator()(const int lhs, const int rhs) const
    {
        return (lhs % 97) < (rhs % 97);
    }
};
 
int main()
{
    std::map<int, char, ModCmp> contenedor;
    contenedor = { { 1, 'a' }, { 2, 'b' }, { 3, 'c' }, { 4, 'd' }, { 5, 'e' } };

    auto func_de_comp = contenedor.key_comp();

    for (auto it : contenedor) {
        bool antes = func_de_comp(it.first, 100);
        bool despues = func_de_comp(100, it.first);

        std::cout << '(' << it.first << ',' << it.second;
        if (!antes && !despues)
            std::cout << ") equivalente a la clave 100\n";
        else if (antes)
            std::cout << ") va antes de la clave 100\n";
        else if (despues)
            std::cout << ") va después de la clave 100\n";
        else
            assert(0); // No puede suceder
    }
}

Salida:

(1,a) va antes de la clave 100
(2,b) va antes de la clave 100
(3,c) equivalente a la clave 100
(4,d) va después de la clave 100
(5,e) va después de la clave 100

Véase también

Devuelve la función que compara las claves en objetos de tipo value_type.
(función miembro pública) [editar]