std::map<Key,T,Compare,Allocator>::key_comp
De cppreference.com
<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
Ejecuta este código
#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) |