std::multimap<Key,T,Compare,Allocator>::equal_range
std::pair<iterator,iterator> equal_range( const Key& key ); |
(1) | |
std::pair<const_iterator,const_iterator> equal_range( const Key& key ) const; |
(2) | |
template< class K > std::pair<iterator,iterator> equal_range( const K& x ); |
(3) | (desde C++14) |
template< class K > std::pair<const_iterator,const_iterator> equal_range( const K& x ) const; |
(4) | (desde C++14) |
Devuelve un rango que contiene todos los elementos con la clave dada en el contenedor. El rango está definido por dos iteradores, uno apunta al primer elemento que es no menor que la clave key
y otro apunta al primer elemento mayor que la clave key
(efectivamente un rango de igualdad). Alternativamente, el primer iterador se puede obtener con lower_bound() y el segundo con upper_bound().
key
.x
. Esta sobrecarga solo participa en la resolución de sobrecargas si el id-calificado Compare::is_transparent es válido y denota un tipo. Permite llamar a esta función sin construir una instancia de Key
. Esta sección está incompleta Razón: explicarlo de mejor manera. |
Contenido |
[editar] Parámetros
key | - | El valor de la clave con la cual comparar los elementos. |
x | - | Valor alternativo que puede compararse con Key .
|
[editar] Valor de retorno
std::pair que contiene un par de iteradores que definen el rango deseado: el primero apunta al primer elemento que no es menor que key
y el segundo apunta al primer elemento mayor que key
.
Si no existen elementos no menores que key
, devuelve un iterador después del final (véase end()) como el primer elemento. Similarmente, si no existen elementos mayores que key
, devuelve un iterador después del final como el segundo elemento.
Ya que |
(desde C++11) |
[editar] Complejidad
Logarítmica en el tamaño del contenedor.
[editar] Ejemplo
#include <iostream> #include <map> int main() { std::multimap<int, char> diccionario { {1, 'A'}, {2, 'B'}, {2, 'C'}, {2, 'D'}, {4, 'E'}, {3, 'F'} }; auto rango = diccionario.equal_range(2); for (auto i = rango.first; i != rango.second; ++i) { std::cout << i->first << ": " << i->second << '\n'; } }
Salida:
2: B 2: C 2: D
[editar] Véase también
Encuentra un elemento con una clave específica. (función miembro pública) | |
(C++20) |
Comprueba si el contenedor contiene un elemento con una clave específica. (función miembro pública) |
Devuelve el número de elementos que coinciden con una clave específica. (función miembro pública) | |
Devuelve un iterador al primer elemento mayor que la clave dada. (función miembro pública) | |
Devuelve un iterador al primer elemento no menor que la clave dada. (función miembro pública) | |
Devuelve el rango de los elementos que coinciden con una clave específica. (plantilla de función) |