Classe de CRBMultiMap
Esta classe representa uma estrutura de mapeamento permite que cada chave pode ser associada com mais de um valor, usando uma árvore binária Vermelho- Preta.
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 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 encontrar a posição do primeiro elemento com uma chave determinada. |
|
Chamar esse método para obter o valor associado com uma chave determinada, e atualizar o valor de posição. |
|
Chamar esse método para obter o elemento associado com uma chave determinada, e atualizar o valor de posição. |
|
Chamar esse método para inserir um par do elemento no mapa. |
|
Chamar esse método para remover todos os elementos chave/valor para uma determinada chave. |
Comentários
CRBMultiMap fornece suporte para uma matriz de mapeamento de qualquer tipo determinado, gerenciando uma matriz ordenada de elementos chaves e valores.A o contrário da classe de CRBMap , cada chave pode ser associado com mais de um valor.
Elementos (consistindo de uma chave e um valor) são armazenados em uma estrutura de árvore binária, usando o método de CRBMultiMap::Insert .Elementos podem ser removidos usando o método de CRBMultiMap::RemoveKey , que exclui todos os elementos que correspondem a chave determinada.
Percorrer a árvore é se torna possível por métodos como CRBTree::GetHeadPosition, CRBTree::GetNext, e CRBTree::GetNextValue.Potencialmente acessar os vários valores por chave é possível usando os métodos de CRBMultiMap::FindFirstWithKey, de CRBMultiMap::GetNextValueWithKey, e de CRBMultiMap::GetNextWithKey .Consulte o exemplo para CRBMultiMap::CRBMultiMap para uma ilustração de este na prática.
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.
CRBMultiMap é derivado de CRBTree, que implementa uma árvore binária usando o algoritmo Vermelho-Preto.Uma alternativa a CRBMultiMap e a CRBMap é 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
CRBMultiMap
Requisitos
Cabeçalho: atlcoll.h