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