[ Web Proxy ]
URL:
Viewing: http://es.cppreference.com/cpp/container/flat_map/equal_range [Back]  [Original]

std::flat_map<Key,T,Compare,KeyContainer,MappedContainer>::equal_range - cppreference.com
cppreference.com
Espacios de nombres
Variantes

std::flat_map<Key,T,Compare,KeyContainer,MappedContainer>::equal_range

De cppreference.com
 
 
 
 
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().

1,2) Compara las claves con key.
3,4) Compara las claves con el valor x. Esta sobrecarga solo participa en la resolucin de sobrecargas si el id-calificado Compare::is_transparent es vlido y denota un tipo. Permite llamar a esta funcin sin construir una instancia de Key.

Parmetros

key - El valor de la clave con la cual comparar los elementos.
x - Valor alternativo que puede compararse con Key.

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 despus del final (vase end()) como el primer elemento. Similarmente, si no existen elementos mayores que key, devuelve un iterador despus del final como el segundo elemento.

Ya que emplace y la versin de insert sin una pista siempre insertan en el lmite superior, el orden de los elementos equivalentes en el rango de igualdad es el orden de insercin a menos que la versin de insert con un pista o emplace_hint se haya usado para insertar un elemento en una posicin diferente.

(desde C++11)

Complejidad

Logartmica en el tamao del contenedor.

Ejemplo

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

template <typename I>
void imprimir_rango_de_igualdad(I first, I lb, I ub, I last) {
    for (I i{first}; i != lb; ++i)
        std::cout << *i << " ";
    std::cout << "[ ";
    for (I i{lb}; i != ub; ++i)
        std::cout << *i << " ";
    std::cout << ") ";
    for (I i{ub}; i != last; ++i)
        std::cout << *i << " ";
    std::cout << '\n';
}

int main()
{
    std::flat_map<int> c{4, 3, 2, 1, 3, 3};
    std::cout << "c = ";
    imprimir_rango_de_igualdad(begin(c), begin(c), end(c), end(c));
    for (int key{}; key != 6; ++key) {
        std::cout << "clave = " << key << "; equal rango = ";
        const auto [lb, ub] = c.equal_range(key);
        imprimir_rango_de_igualdad(begin(c), lb, ub, end(c));
    }
}


Vase tambin

(C++23)
Encuentra un elemento con una clave especfica.
(funcin miembro pblica) [editar]
(C++20)
Comprueba si el contenedor contiene un elemento con una clave especfica.
(funcin miembro pblica) [editar]
(C++23)
Devuelve el nmero de elementos que coinciden con una clave especfica.
(funcin miembro pblica) [editar]
Devuelve un iterador al primer elemento mayor que la clave dada.
(funcin miembro pblica) [editar]
Devuelve un iterador al primer elemento no menor que la clave dada.
(funcin miembro pblica) [editar]
Devuelve el rango de los elementos que coinciden con una clave especfica.
(plantilla de funcin) [editar]

Web Proxy Viewer  |  New URL  |  Original Page