Classe de CRBMap
Esta classe representa uma estrutura de mapeamento, usando uma árvore binária Vermelho- Preta.
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 elemento de valor.KTraits
O código usado para copiar ou mover elementos chaves.Consulte classe de CElementTraits para obter mais detalhes.VTraits
O código usado para copiar ou mover elementos de valor.
Membros
Construtores public
Nome |
Descrição |
---|---|
o construtor. |
|
O destrutor. |
Métodos públicos
Nome |
Descrição |
---|---|
Chamar esse método para pesquisar chaves ou valores no objeto de CRBMap . |
|
Chamar esse método para remover um elemento de objeto de CRBMap , usando a chave. |
|
Chamar esse método para inserir um par do elemento no mapa. |
Comentários
CRBMap fornece suporte para uma matriz de mapeamento de qualquer tipo determinado, gerenciando uma matriz ordenada de chaves elementos e seus valores associados.Cada chave pode ter apenas um valor associado.Elementos (consistindo de uma chave e um valor) são armazenados em uma estrutura de árvore binária, usando o método de CRBMap::SetAt .Elementos podem ser removidos usando o método de CRBMap::RemoveKey , que exclui o elemento com o valor de dado.
Percorrer a árvore é se torna possível por métodos como CRBTree::GetHeadPosition, CRBTree::GetNext, e CRBTree::GetNextValue.
Os parâmetros de KTraits e de VTraits são classes dos traços que contêm qualquer código suplementar necessário copiar ou mover elementos.
CRBMap é derivado de CRBTree, que implementa uma árvore binária usando o algoritmo Vermelho-Preto.CRBMultiMap é uma variação que permite vários valores para cada chave.É muito CRBTreederivado de, e portanto compartilhamento muitos recursos com CRBMap.
Uma alternativa para ambos CRBMap e CRBMultiMap é oferecida pela classe de CAtlMap .Quando apenas um pequeno número de elementos precisam ser armazenados, considere usar a classe de CSimpleMap em vez de isso.
Para um exame mais completa das várias classes de coleção e seus recursos e características de desempenho, consulte Classes de coleção de ATL.
Hierarquia de herança
CRBMap
Requisitos
Cabeçalho: atlcoll.h