Partilhar via


Classe CRBMap

Esta classe representa uma estrutura de mapeamento, usando um vermelho-preto binário árvore.

template< 
   typename K,
   typename V,
   class KTraits = CElementTraits< K >,
   class VTraits = CElementTraits< V > 
> class CRBMap : 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

CRBMap oferece suporte a uma matriz de mapeamento de qualquer tipo de dado, gerenciando uma matriz ordenada de elementos-chave e seus valores associados. Cada chave pode ter apenas um valor associado.Elementos (consistindo em uma chave e um valor) são armazenados em uma estrutura de árvore binária, usando o CRBMap::SetAt método.Elementos podem ser removidos usando o CRBMap::RemoveKey método, que exclui o elemento com o valor da chave determinado.

Percorrer a árvore é possibilitada com métodos sistema autônomo, por exemplo, CRBTree::GetHeadPosition, CRBTree::GetNext, and CRBTree::GetNextValue.

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.

CRBMap é derivado de CRBTree, que implementa uma árvore binária usando o algoritmo de Red-preta.CRBMultiMap é uma variação que permite que vários valores para cada chave.Ele também é derivado de CRBTreee então compartilha muitos recursos com CRBMap.

Uma alternativa para os dois CRBMap e CRBMultiMap é 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 CRBMultiMap

Outros recursos

CRBMap membros

Visão geral do ATL classe