Partilhar via


Classe de CAtlMap

Essa classe fornece métodos para criar e gerenciar um objeto de mapa.

template< 
   typename K, 
   typename V, 
   class KTraits = CElementTraits< K >, 
   class VTraits = CElementTraits< V > 
> 
class CAtlMap

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

Typedefs público

Nome

Descrição

CAtlMap::KINARGTYPE

Tipo usado quando uma chave é passada como um argumento de entrada

CAtlMap::KOUTARGTYPE

Tipo usado quando uma chave é retornada como um argumento de saída.

CAtlMap::VINARGTYPE

Tipo usado quando um valor é passado como um argumento de entrada.

CAtlMap::VOUTARGTYPE

Tipo usado quando um valor é passado como um argumento de saída.

Classes públicas

Nome

Descrição

Classe de CAtlMap::CPair

Uma classe que contém os elementos da chave e valor.

Membros de dados de CPair

Nome

Descrição

CAtlMap::CPair::m_key

O membro de dados que armazena o elemento chave.

CAtlMap::CPair::m_value

O membro de dados que armazena o elemento de valor.

Construtores public

Nome

Descrição

CAtlMap::CAtlMap

o construtor.

CAtlMap::~CAtlMap

O destrutor.

Métodos públicos

Nome

Descrição

CAtlMap::AssertValid

Chamar esse método para fazer com que AFIRMAR se CAtlMap é inválido.

CAtlMap::DisableAutoRehash

Chamar esse método para desativar repita automático do objeto de CAtlMap .

CAtlMap::EnableAutoRehash

Chamar esse método para ativar repita automático do objeto de CAtlMap .

CAtlMap::GetAt

Chamar esse método para retornar o elemento em uma posição especificada no mapa.

CAtlMap::GetCount

Chamar esse método para recuperar o número de elementos no mapa.

CAtlMap::GetHashTableSize

Chamar esse método para determinar o número de compartimentos no hash do mapa - tabela.

CAtlMap::GetKeyAt

Chamar esse método para recuperar a chave armazenada na posição determinada no objeto de CAtlMap .

CAtlMap::GetNext

Chamar esse método para obter um ponteiro para os seguintes pares do elemento armazenados no objeto de CAtlMap .

CAtlMap::GetNextAssoc

Obtém o próximo elemento para iterar.

CAtlMap::GetNextKey

Chamar esse método para recuperar a próxima chave do objeto de CAtlMap .

CAtlMap::GetNextValue

Chamar esse método para obter o valor do objeto de CAtlMap seguir.

CAtlMap::GetStartPosition

Chamar esse método para iniciar uma iteração de mapa.

CAtlMap::GetValueAt

Chamar esse método para recuperar o valor armazenado em uma determinada posição no objeto de CAtlMap .

CAtlMap::InitHashTable

Chamar esse método para inicializar o tabela de hash.

CAtlMap::IsEmpty

Chamar esse método para testar um objeto de mapa vazia.

CAtlMap::Lookup

Chamar esse método para pesquisar chaves ou valores no objeto de CAtlMap .

CAtlMap::Rehash

Chamar esse método para repetir o objeto de CAtlMap .

CAtlMap::RemoveAll

Chamar esse método para remover todos os elementos de objeto de CAtlMap .

CAtlMap::RemoveAtPos

Chamar esse método para remover o elemento na posição determinada no objeto de CAtlMap .

CAtlMap::RemoveKey

Chamar esse método para remover um elemento de objeto de CAtlMap , usando a chave.

CAtlMap::SetAt

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

CAtlMap::SetOptimalLoad

Chamar esse método para definir a carga ideal do objeto de CAtlMap .

CAtlMap::SetValueAt

Chamar esse método para alterar o valor armazenado em uma determinada posição no objeto de CAtlMap .

Operadores públicos

Nome

Descrição

CAtlMap::operator []

Substitui ou adiciona um novo elemento a CAtlMap.

Comentários

CAtlMap fornece suporte para uma matriz de mapeamento de qualquer tipo determinado, gerenciando uma matriz não ordenada de chaves elementos e seus valores associados. Elementos (consistindo de uma chave e um valor) são armazenados usando um algoritmo de hash, permitindo que uma grande quantidade de dados com eficiência é armazenada e recuperadas.

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.

Uma alternativa a CAtlMap é oferecida pela classe de CRBMap . CRBMap armazena pares chave/valor também, mas diferentes características de desempenho das visualizações. O tempo tirados para inserir um item, para pesquisar uma chave, ou para excluir uma chave de um objeto de CRBMap são de log do pedido (em) em , onde é o número de elementos. Para CAtlMap, todas essas operações normalmente assumem um tempo constantes, embora os piores de hipotéticos podem ser de pedido . Em. Portanto, no caso CAtlMap típicos, é mais rápido.

Outra diferença entre CRBMap e CAtlMap torna-se aparente para percorrer os elementos armazenados. Em CRBMap, os elementos são visitados em uma ordem classificada. Em CAtlMap, os elementos não são ordenados, e nenhum pedido pode ser inferido.

Quando um pequeno número de elementos precisam ser armazenados, considere usar a classe de CSimpleMap em vez de isso.

Para obter mais informações, consulte Classes de coleção de ATL.

Requisitos

Cabeçalho: atlcoll.h

Consulte também

Conceitos

Exemplo de famoso

exemplo de UpdatePV

Outros recursos

Visão geral da classe de ATL