Share via


Clase de CRBMultiMap

Esta clase representa una estructura de asignación que permita cada tecla puede estar asociado a más de un valor, utilizando un árbol binario de Rojo-Negro.

template<
   typename K,
   typename V,
   class KTraits = CElementTraits< K >,
   class VTraits = CElementTraits< V >
> class CRBMultiMap : public CRBTree< K, V, KTraits, VTraits >

Parámetros

  • K
    el tipo de elemento clave.

  • V
    El tipo de elemento del valor.

  • KTraits
    El código utilizado para copiar o mover elementos clave.Vea clase de CElementTraits para más detalles.

  • VTraits
    El código utilizado para copiar o mover elementos de valor.

Members

1ddxd5hx.collapse_all(es-es,VS.110).gifConstructores públicos

Name

Descripción

CRBMultiMap::CRBMultiMap

el constructor.

CRBMultiMap::~CRBMultiMap

El destructor.

1ddxd5hx.collapse_all(es-es,VS.110).gifMétodos públicos

Name

Descripción

CRBMultiMap::FindFirstWithKey

Llame a este método para buscar la posición del primer elemento con una clave especificada.

CRBMultiMap::GetNextValueWithKey

Llame a este método para obtener el valor asociado con una clave especificada, y actualizar el valor de la posición.

CRBMultiMap::GetNextWithKey

Llame a este método para obtener el elemento asociado con una clave especificada, y actualizar el valor de la posición.

CRBMultiMap::Insert

Llame a este método para insertar un par de elementos del mapa.

CRBMultiMap::RemoveKey

Llame a este método para quitar todos los elementos de clave y valor para una clave especificada.

Comentarios

CRBMultiMap proporciona compatibilidad para una matriz de asignación de tipo, controlando matriz ordenada de elementos clave y valores.A diferencia de la clase de CRBMap , cada clave puede estar asociado a más de un valor.

Los elementos (se compone de una clave y un valor) se almacenan en una estructura de los árboles binario, utilizando el método de CRBMultiMap:: Insert .Los elementos se pueden quitar mediante el método de CRBMultiMap:: RemoveKey , lo que elimina todos los elementos que coinciden con la clave especificada.

Atravesar el árbol se crea posible con métodos como CRBTree:: GetHeadPosition, CRBTree:: GetNext, y CRBTree:: GetNextValue.El acceso de los valores potencialmente varias por clave es posible mediante los métodos de CRBMultiMap:: FindFirstWithKey, de CRBMultiMap:: GetNextValueWithKey, y de CRBMultiMap:: GetNextWithKey .Vea el ejemplo para CRBMultiMap:: CRBMultiMap para obtener un ejemplo de esto en el laboratorio.

Los parámetros de KTraits y de VTraits son clases de con los que contienen cualquier código complementario necesario para copiar o mover elementos.

CRBMultiMap es derivado de CRBTree, que implementa un árbol binario mediante el algoritmo de Rojo-Negro.Una alternativa a CRBMultiMap y a CRBMap proporciona la clase de CAtlMap .Cuando solo una pequeña cantidad de elementos deben estar almacenados, considere la clase de CSimpleMap en su lugar.

Para obtener la descripción completa de las distintas clases de colección y de sus características y características de rendimiento, vea clases de colección de ATL.

Jerarquía de herencia

CRBTree

CRBMultiMap

Requisitos

encabezado: atlcoll.h

Vea también

Referencia

Clase de CRBTree

Clase de CAtlMap

Clase de CRBMap

Otros recursos

Información general de la clase ATL