Compartir a través de


multimap Class

La clase estándar de multimap de la plantilla se utiliza para el almacenamiento y la recuperación de datos de una colección en la que el cada elemento es un par que tiene un valor de datos y un criterio de ordenación.El valor de la clave no debe ser único y se utiliza para ordenar los datos automáticamente.El valor de un elemento en un multimap, pero no el valor de clave asociado, se puede cambiar directamente.En su lugar, los valores de clave asociados a los antiguos elementos se deben eliminar y los nuevos valores de clave asociar los nuevos elementos insertados.

template <
   class Key, 
   class Type, 
   class Traits=less<Key>, 
   class Allocator=allocator<pair <const Key, Type> > 
>
class multimap

Parámetros

  • Clave
    El tipo de datos clave que se almacene en el multimap.

  • Tipo
    El tipo de datos del elemento que se almacene en el multimap.

  • Traits
    El tipo que proporciona un objeto de función que puede comparar dos valores de elemento como criterio de ordenación para determinar el orden relativo en el multimap.El predicado binario less*<Key>* es el valor predeterminado.

  • Allocator
    El tipo que representa el objeto almacenado de asignador que encapsula los detalles sobre la asignación y la desasignación de asignación de memoria.Este argumento es opcional y el valor predeterminado es allocator*<*pair *<*const cierre, Type> >.

Comentarios

La clase de multimap STL es

  • Un contenedor asociativa, que un contenedor variable de tamaño que admiten la extracción eficaz de los valores de elemento basándose en un valor de clave asociado.

  • Reversible, porque proporciona iteradores bidireccionales para tener acceso a sus elementos.

  • Ordenados, porque los elementos se ordenan por valores de clave dentro del contenedor de acuerdo con una función especificada de la comparación.

  • Varias, porque sus elementos no necesitan tener claves únicas, de modo que un valor de clave puede tener muchos valores de datos del elemento asociados al.

  • Un contenedor asociativa de pares, porque los valores de los datos de elemento son distintos de los valores de clave.

  • Una clase de plantilla, porque la funcionalidad que proporciona es genérica y así que independiente del tipo específico de datos contenido como elementos o claves.Especificar los tipos de datos que se usarán para los elementos y las claves, sino, como los parámetros de la plantilla de clase junto con la función y el asignador de comparación.

El iterador proporcionado por la clase de mapa es un iterador bidireccional, pero el miembro de clase funciona inserción y multimap tiene versiones que toman como parámetros de plantilla un iterador más débil de entrada, cuyos requisitos de funcionalidad son más mínimos que los garantizados por la clase de iteradores bidireccionales.Los distintos conceptos de iterador forman una familia relacionada por refinamientos en su funcionalidad.Cada concepto de iterador tiene su propio conjunto de requisitos y algoritmos que funcionan con ellos límite de la necesidad sus suposiciones a los requisitos proporcionados por ese tipo de iterador.Se supone que un iterador de entrada se puede desreferenciar para hacer referencia a algún objeto y que puede incrementar el iterador siguiente de la secuencia.Éste es un conjunto mínimo de funcionalidad, pero es suficiente para poder comunicarse significativo sobre un intervalo de iteradores [_First, _Last) en el contexto de las funciones miembro de clases.

La opción de tipo de contenedor deben basarse en general en el tipo de búsqueda e insertar requerido por la aplicación.Los contenedores asociativos se optimizan para las operaciones de búsqueda, de inserción y eliminación.Las funciones miembro que explícitamente admite estas operaciones es eficaz, efectuandolas en una hora que sea por término medio proporcional al logaritmo del número de elementos en el contenedor.Insertar elementos no invalida ningún iterador, y quitar elementos reemplaza solo los iteradores que habían notificado específicamente en los elementos eliminados.

El multimap debe ser el contenedor asociativa choice si las condiciones que asocian los valores a las claves son satisfechas por la aplicación.Un modelo para este tipo de estructura es una lista ordenada de palabras clave con los valores de cadena asociados que proporcionan, por ejemplo, definiciones, donde las palabras siempre no están definidas de forma exclusiva.Si, en su lugar, las palabras clave se definidas de forma exclusiva de modo que las claves se únicas, un mapa sería el contenedor de la opción.Si, por otro lado, simplemente la lista de palabras fuera almacenada, un conjunto sería el contenedor correcto.Si varias apariciones de las palabras se permitidas, un conjunto múltiple sería la estructura apropiada del contenedor.

El multimap pide la secuencia que controla llamando a un objeto almacenado de función de key_compare escrito.Este objeto almacenado es una función de comparación que se puede tener acceso llamando a la función key_comp miembro.Los elementos suelen necesitar ser simplemente menos que comparables establecer este orden: para, con los dos elementos, poder determinar cualquiera que es equivalente (en el sentido de que ninguno es menor que otro) o que uno es menor que otro.Esto produce el orden entre los elementos distintos.En otra nota técnica, la función de comparación es un predicado binario que induce la ordenación parcial estricto en el sentido matemático estándar.Una f binaria de predicado (x, y) es un objeto de función que tiene dos objetos de argumento xe y y un valor devuelto de true o false.El orden impuesto a un conjunto es el orden débil estricto si el predicado binario es irreflexive, antisimétrico, y transitiva y si la equivalencia es transitiva, donde dos objetos x e y se definen para ser equivalentes cuando tanto f(x, y) y f(la y, x) es false.Si la condición más fuerte de igualdad entre las teclas reemplaza el de equivalencia, el orden se convierte en total (en el sentido de que todos los elementos están ordenados en sí) y que las claves se imperceptibles entre sí.

Members

1ka6hya8.collapse_all(es-es,VS.110).gifConstructores

multimap

Construye multimap que está vacío o que es una copia de todo o parte de algún otro multimap.

1ka6hya8.collapse_all(es-es,VS.110).gifTypedefs

allocator_type

Un tipo que representa la clase de allocator para el objeto de multimap.

const_iterator

Un tipo que proporciona un iterador bidireccional que pueda leer un elemento de const en multimap.

const_pointer

Un tipo que proporciona un puntero a un elemento de const en multimap.

const_reference

Un tipo que proporciona una referencia a un elemento de const almacenados en multimap para leer y realizar operaciones de const.

const_reverse_iterator

Un tipo que proporciona un iterador bidireccional que pueda leer cualquier elemento de const en multimap.

difference_type

Un entero con signo escribe que se puede usar para representar el número de elementos de multimap en un intervalo entre elementos indicada por los iteradores.

Iterador

Un tipo que proporciona la diferencia entre dos iteradores que hacen referencia a elementos dentro del mismo multimap.

key_compare

Un tipo que proporciona un objeto de función que puede comparar dos criterios de ordenación para determinar el orden relativo de dos elementos en multimap.

key_type

Un tipo que describe el objeto del criterio de ordenación que constituye cada elemento de multimap.

mapped_type

Un tipo que representa el tipo de datos almacenados en multimap.

pointer

Un tipo que proporciona un puntero a un elemento de const en multimap.

referencia

Un tipo que proporciona una referencia a un elemento almacenados en multimap.

reverse_iterator

Un tipo que proporciona un iterador bidireccional que pueda leer o modificar un elemento de multimap invertido.

size_type

Un entero sin signo escribe que proporciona un puntero a un elemento de const en multimap.

value_type

Un tipo que proporciona un objeto de función que puede comparar dos elementos como criterio de ordenación para determinar el orden relativo en multimap.

1ka6hya8.collapse_all(es-es,VS.110).gifFunciones miembro

begin

Devuelve un iterador que dirige el primer elemento de multimap.

multimap::cbegin

Devuelve un iterador const que dirige el primer elemento de multimap.

multimap::cend

Devuelve un iterador const que dirige la ubicación que funciona correctamente el último elemento de multimap.

clear

Borra todos los elementos de multimap.

count

Devuelve el número de elementos de multimap cuya clave coincide con una clave parámetro- especificada.

multimap::crbegin

Devuelve un iterador const que dirige el primer elemento de multimap invertido.

multimap::crend

Devuelve un iterador const que dirige la ubicación que funciona correctamente el último elemento de multimap invertido.

multimap::emplace

Inserta un elemento construido en el lugar en multimap.

multimap::emplace_hint

Inserta un elemento construido en el lugar en multimap, con una sugerencia de posición

empty

Comprueba si multimap está vacío.

end

Devuelve un iterador que dirige la ubicación que funciona correctamente el último elemento de multimap.

equal_range

Encuentra el intervalo de elementos donde coincide con la clave del elemento un valor especificado.

barrido

Quita un elemento o un intervalo de elementos de multimap de posiciones especificadas o quita los elementos que coinciden con una clave especificada.

find

Devuelve un iterador que dirige la primera ubicación de un elemento en multimap que tiene un equivalente key en una clave especificada.

get_allocator

Devuelve una copia del objeto de allocator utilizado para construir multimap.

inserción

Inserta un elemento o un intervalo de elementos de multimap.

key_comp

Recupera una copia del objeto de comparación utilizado a claves ordenadas en multimap.

lower_bound

Devuelve un iterador al primer elemento de multimap que con una clave a la que sea igual o mayor que una clave especificada.

max_size

Devuelve la longitud máxima de multimap.

rbegin

Devuelve un iterador que dirige el primer elemento de multimap invertido.

rend

Devuelve un iterador que dirige la ubicación que funciona correctamente el último elemento de multimap invertido.

size

Devuelve el número de elementos de multimap.

intercambio

Cambie los elementos de dos objetos de multimap.

upper_bound

Devuelve un iterador al primer elemento de multimap que cuya clave es mayor que una clave especificada.

value_comp

La función miembro devuelve un objeto de función que determina el orden de elementos de multimap comparando los valores de clave.

1ka6hya8.collapse_all(es-es,VS.110).gifOperadores

multimap::operator=

Reemplaza los elementos de multimap con una copia de otro multimap.

Requisitos

Header: <map>

Espacio de nombres: std

(key, value) pares se almacenan en un multimap como objetos de pair escrito.La clase de pares requiere el encabezado <utility>, que automáticamente se incluye por <map>.

Vea también

Referencia

Seguridad para subprocesos de la biblioteca estándar de C++

Biblioteca de plantillas estándar

Otros recursos

miembros de multimap

miembros de <Asignar>

Archivos de encabezado