Compartir a través de


multimap (STL/CLR)

La clase de plantilla describe un objeto que controla una secuencia de la variar-longitud de elementos con acceso bidireccional.Utiliza el contenedor multimap para administrar una secuencia de elementos como (casi) equilibró el árbol orden de nodos, cada un elemento que almacena.Un elemento se compone de una clave, para ordenar la secuencia, y un valor asignado, que va adelante para el recorrido.

En la descripción siguiente, GValue es igual que:

Microsoft::VisualC::StlClr::GenericPair<GKey, GMapped>

donde:

GKey es igual que Key a menos que este último es un tipo de referencia, en este caso es Key^

GMapped es igual que Mapped a menos que este último es un tipo de referencia, en este caso es Mapped^

template<typename Key,
    typename Mapped>
    ref class multimap
        :   public
        System::ICloneable,
        System::Collections::IEnumerable,
        System::Collections::ICollection,
        System::Collections::Generic::IEnumerable<GValue>,
        System::Collections::Generic::ICollection<GValue>,
        System::Collections::Generic::IList<GValue>,
        Microsoft::VisualC::StlClr::ITree<Gkey, GValue>
    { ..... };

Parámetros

  • Clave
    Tipo del componente clave de un elemento en la secuencia controlada.

  • Asignado
    El tipo de componente adicional de un elemento de la secuencia controlada.

Members

Definición de tipo

Descripción

multimap::const_iterator (STL/CLR)

El tipo de un iterador constante para la secuencia controlada.

multimap::const_reference (STL/CLR)

El tipo de una referencia constante a un elemento.

multimap::const_reverse_iterator (STL/CLR)

El tipo de un iterador inverso constante para la secuencia controlada.

multimap::difference_type (STL/CLR)

El tipo de distancia a (firmada posiblemente) entre dos elementos.

multimap::generic_container (STL/CLR)

El tipo de interfaz genérica para el contenedor.

multimap::generic_iterator (STL/CLR)

El tipo de un iterador para la interfaz genérica para el contenedor.

multimap::generic_reverse_iterator (STL/CLR)

El tipo de un iterador inverso para la interfaz genérica para el contenedor.

multimap::generic_value (STL/CLR)

El tipo de un elemento de la interfaz genérica para el contenedor.

multimap::iterator (STL/CLR)

El tipo de un iterador para la secuencia controlada.

multimap::key_compare (STL/CLR)

El delegado de ordenación para dos claves.

multimap::key_type (STL/CLR)

El tipo de una clave de ordenación.

multimap::mapped_type (STL/CLR)

El tipo del valor asignado asociado a cada clave.

multimap::reference (STL/CLR)

El tipo de una referencia a un elemento.

multimap::reverse_iterator (STL/CLR)

El tipo de un iterador inverso para la secuencia controlada.

multimap::size_type (STL/CLR)

El tipo de distancia (no negativa) de a entre dos elementos.

multimap::value_compare (STL/CLR)

El delegado de ordenación por dos valores de elemento.

multimap::value_type (STL/CLR)

El tipo de un elemento.

Función miembro

Descripción

multimap::begin (STL/CLR)

Designa el principio de la secuencia controlada.

multimap::clear (STL/CLR)

Quita todos los elementos.

multimap::count (STL/CLR)

Cuenta los elementos que coinciden con una clave especificada.

multimap::empty (STL/CLR)

Comprueba si no hay elementos presentes.

multimap::end (STL/CLR)

Designa el final de la secuencia controlada.

multimap::equal_range (STL/CLR)

Encuentra el intervalo que coincide con una clave especificada.

multimap::erase (STL/CLR)

Quita los elementos en las posiciones especificadas.

multimap::find (STL/CLR)

Busca un elemento que coincida con una clave especificada.

multimap::insert (STL/CLR)

Agrega elementos.

multimap::key_comp (STL/CLR)

Copia el delegado de ordenación para dos claves.

multimap::lower_bound (STL/CLR)

Encuentra el inicio del intervalo que coincide con una clave especificada.

multimap::make_value (STL/CLR)

Construye un objeto value.

multimap::multimap (STL/CLR)

Construye un objeto contenedor.

multimap::rbegin (STL/CLR)

Designa el principio de la secuencia controlada inversa.

multimap::rend (STL/CLR)

Designa el final de la secuencia controlada inversa.

multimap::size (STL/CLR)

Cuenta el número de elementos.

multimap::swap (STL/CLR)

Intercambia el contenido de dos contenedores.

multimap::to_array (STL/CLR)

Copia la secuencia controlada a una nueva matriz.

multimap::upper_bound (STL/CLR)

Encuentra el final del intervalo que coincide con una clave especificada.

multimap::value_comp (STL/CLR)

Copia el delegado de ordenación por dos valores de elemento.

Operador

Descripción

multimap::operator= (STL/CLR)

Reemplaza la secuencia controlada.

operator!= (multimap) (STL/CLR)

Determina si un objeto de multimap no es igual a otro objeto de multimap .

operator< (multimap) (STL/CLR)

Determina si un objeto de multimap es menor que otro objeto de multimap .

operator<= (multimap) (STL/CLR)

Determina si un objeto de multimap menor o igual que otro objeto de multimap .

operator== (multimap) (STL/CLR)

Determina si un objeto de multimap es igual a otro objeto de multimap .

operator> (multimap) (STL/CLR)

Determina si un objeto de multimap es mayor que otro objeto de multimap .

operator>= (multimap) (STL/CLR)

Determina si un objeto de multimap mayor o igual que otro objeto de multimap .

Interfaces

Interfaz

Descripción

ICloneable

Dupliquen un objeto.

IEnumerable

Secuencia a través de los elementos.

ICollection

Mantenga el grupo de elementos.

IEnumerable<T>

Secuencia mediante elementos escritos.

ICollection<T>

Mantenga el grupo de elementos escritos.

ITree<Clave, value>

Mantenga el contenedor genérico.

Comentarios

El objeto asigna y libera el almacenamiento de la secuencia que controla como nodos individuales.Insertar elementos en (casi) nunca equilibró el árbol que mantiene orden modificando los vínculos entre los nodos, copiando el contenido de un nodo a otro.Eso significa que puede insertar y quitar elementos libremente sin elementos restantes que modifican.

El objeto pide la secuencia que controla llamando a un objeto almacenado de delegado de multimap::key_compare (STL/CLR)escrito.Puede especificar el objeto almacenado de delegado cuando se construye el multimap; si no especifica ningún objeto delegado, el valor predeterminado es la comparación operator<(key_type, key_type).Tiene acceso a este objeto almacenado llamando a la función multimap::key_comp (STL/CLR)()miembro.

Este tipo de objeto delegado debe imponer orden débil estricto sobre las teclas de multimap::key_type (STL/CLR)escrito.Es decir, para cualquier dos claves X y Y:

key_comp()(X, Y) devuelve el mismo resultado booleano en cada llamada.

Si key_comp()(X, Y) es true, el key_comp()(Y, X) debe ser false.

Si key_comp()(X, Y) es true, el X se secuenciado antes de Y.

Si !key_comp()(X, Y) && !key_comp()(Y, X) es true, el X y Y se dice que tienen orden equivalente.

Para cualquier elemento X que preceda Y en la secuencia controlada, key_comp()(Y, X) es false.(Para el objeto predeterminado de delegado, las teclas nunca disminuyen en valor.) A diferencia de la clase de plantilla map (STL/CLR), un objeto de clase de plantilla multimap no requiere que las claves para todos los elementos son únicas.(Dos o más claves pueden tener orden equivalente).

Cada elemento contiene una clave independiente y un valor asignado.La secuencia se representan de forma que permita búsqueda, la inserción, y la eliminación de un elemento arbitrario con varias operaciones proporcionales al logaritmo del número de elementos de la secuencia (tiempo logarítmico).Por otra parte, inserta un elemento no invalida ningún iterador, y quitar un elemento reemplaza solo los iteradores que señalan en el elemento quitado.

Un multimap admite iteradores bidireccionales, que significa que se puede pasar a los elementos adyacentes dado un iterador que señale un elemento de la secuencia controlada.Un nodo principal especial corresponde al iterador devuelto por multimap::end (STL/CLR)().Puede reducir este iterador para lograr el último elemento de la secuencia controlada, si existe.Puede incrementar un iterador de multimap para lograr el nodo principal, y a continuación comparará el igual a end().Pero no puede desreferenciar el iterador devuelto por end().

Observe que no puede hacer referencia a un elemento de multimap determinado directamente su posición numérica -- esto requiere un iterador de acceso aleatorio.

Un iterador de multimap almacena un identificador al nodo asociado de multimap, que a su vez almacena un identificador para el contenedor asociado.Puede usar iteradores únicamente con los objetos contenedores asociado.Un iterador de multimap sigue siendo válido siempre y cuando el nodo asociado de multimap es asociado a algún multimap.Por otra parte, un iterador válido es dereferencable -- puede utilizarlo para obtener acceso o modificar el valor del elemento que señala -- siempre y cuando no es igual a end().

Borrar o quitar un elemento denomina destructor por el valor almacenado.Destruyendo el contenedor borra todos los elementos.Así, un contenedor cuyo tipo de elemento es una clase de referencia se asegura que ningún elemento sobrevivan al contenedor.La nota, sin embargo, que un contenedor de identificadores hace not destruye sus elementos.

Requisitos

encabezado: <cliext/asignado>

Cliext deespacio de nombres:

Vea también

Referencia

hash_map (STL/CLR)

hash_multimap (STL/CLR)

hash_multiset (STL/CLR)

hash_set (STL/CLR)

map (STL/CLR)

multiset (STL/CLR)

set (STL/CLR)

Otros recursos

Referencia de la biblioteca de STL/CLR