Compartilhar via


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

1ddxd5hx.collapse_all(pt-br,VS.110).gifConstrutores public

Nome

Descrição

CRBMultiMap::CRBMultiMap

o construtor.

CRBMultiMap::~CRBMultiMap

O destrutor.

1ddxd5hx.collapse_all(pt-br,VS.110).gifMétodos públicos

Nome

Descrição

CRBMultiMap::FindFirstWithKey

Chamar esse método para encontrar a posição do primeiro elemento com uma chave determinada.

CRBMultiMap::GetNextValueWithKey

Chamar esse método para obter o valor associado com uma chave determinada, e atualizar o valor de posição.

CRBMultiMap::GetNextWithKey

Chamar esse método para obter o elemento associado com uma chave determinada, e atualizar o valor de posição.

CRBMultiMap::Insert

Chamar esse método para inserir um par do elemento no mapa.

CRBMultiMap::RemoveKey

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

CRBTree

CRBMultiMap

Requisitos

Cabeçalho: atlcoll.h

Consulte também

Referência

Classe de CRBTree

Classe de CAtlMap

Classe de CRBMap

Outros recursos

Visão geral da classe de ATL