Partilhar via


Classe CRBMultiMap

Esta classe representa uma estrutura de mapeamento que permite que cada chave pode ser associado a mais de um valor, usando um vermelho-preto binário árvore.

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

Parâmetros

  • K
    O tipo de elemento-chave.

  • V
    O tipo de valor do elemento.

  • KTraits
    O código usado para copiar ou mover elementos-chave.See Classe CElementTraits para obter mais detalhes.

  • VTraits
    O código usado para copiar ou mover elementos valor.

Comentários

CRBMultiMap oferece suporte a uma matriz de mapeamento de qualquer tipo de dado, gerenciando uma matriz ordenada de elementos-chave e valores. Ao contrário de CRBMap classe, cada chave pode ser associado com mais de um valor.

Elementos (consistindo em uma chave e um valor) são armazenados em uma estrutura de árvore binária, usando o CRBMultiMap::Insert método.Elementos podem ser removidos usando o CRBMultiMap::RemoveKey método, que exclui todos os elementos que corresponder à chave determinada.

Percorrer a árvore é possibilitada com métodos sistema autônomo, por exemplo, CRBTree::GetHeadPosition, CRBTree::GetNext, and CRBTree::GetNextValue.Acessando o potencialmente vários valores de chaves por é possível usar o CRBMultiMap::FindFirstWithKey, CRBMultiMap::GetNextValueWithKey, and CRBMultiMap::GetNextWithKey métodos.Consulte o exemplo para CRBMultiMap::CRBMultiMap para obter uma ilustração na prática.

The KTraits e VTraits os parâmetros são classes de características que contêm qualquer código complementar necessário para copiar ou mover elementos.

CRBMultiMap é derivado de CRBTree, que implementa uma árvore binária usando o algoritmo de Red-preta.Uma alternativa para CRBMultiMap e CRBMap é oferecido pela CAtlMap classe.Quando apenas um pequeno número de elementos precisa ser armazenado, utilize o CSimpleMap classe em vez disso.

Para uma discussão mais completa de várias classes de coleção e seus recursos e características de desempenho, consulte Classes de coleção do ATL.

Requisitos

Cabeçalho: atlcoll.h

Consulte também

Referência

Classe CRBTree

Classe CAtlMap

Classe CRBMap

Outros recursos

CRBMultiMap membros

Visão geral do ATL classe