Partilhar via


Classe CSimpleMap

Observação

A Active Template Library (ATL) continua a ser suportada. No entanto, já não estamos a adicionar funcionalidades nem a atualizar a documentação.

Esta classe fornece suporte para um array de mapeamento simples.

Sintaxe

template <class TKey, class TVal, class TEqual = CSimpleMapEqualHelper<TKey, TVal>>
class CSimpleMap

Parâmetros

TKey
O tipo de elemento-chave.

TVal
O tipo de elemento valor.

TEqual
Um objeto de traço, definindo o teste de igualdade para elementos do tipo T.

Membros

Definições de Tipos Públicas

Nome Description
CSimpleMap::_ArrayElementType Typedef para o tipo de valor.
CSimpleMap::_ArrayKeyType Typedef para o tipo de chave.

Construtores Públicos

Nome Description
CSimpleMap::CSimpleMap O construtor.
CSimpleMap::~CSimpleMap O destruidor.

Métodos Públicos

Nome Description
CSimpleMap::Add Adiciona uma chave e um valor associado ao array do mapa.
CSimpleMap::FindKey Encontra uma chave específica.
CSimpleMap::FindVal Encontra um valor específico.
CSimpleMap::GetKeyAt Recupera a chave especificada.
CSimpleMap::GetSize Devolve o número de entradas no array de mapeamento.
CSimpleMap::GetValueAt Recupera o valor especificado.
CSimpleMap::Procurar Devolve o valor associado à chave dada.
CSimpleMap::Remover Remove uma chave e um valor correspondente.
CSimpleMap::RemoveAll Remove todas as chaves e valores.
CSimpleMap::RemoveAt Remove uma chave específica e um valor correspondente.
CSimpleMap::ReverseLookup Devolve a chave associada ao valor dado.
CSimpleMap::SetAt Define o valor associado à chave dada.
CSimpleMap::SetAtIndex Define a chave e o valor específicos.

Observações

CSimpleMap fornece suporte para um array de mapeamento simples de qualquer tipo T, gerindo um array não ordenado de elementos-chave e os seus valores associados.

O parâmetro TEqual fornece um meio de definir uma função de igualdade para dois elementos do tipo T. Ao criar uma classe semelhante ao CSimpleMapEqualHelper, é possível alterar o comportamento do teste de igualdade para qualquer array dado. Por exemplo, ao lidar com um array de ponteiros, pode ser útil definir a igualdade como dependendo dos valores referenciados pelos ponteiros. A implementação padrão utiliza operator==().

Tanto CSimpleMap o CSimpleArray como o CSimpleArray são fornecidos para compatibilidade com versões anteriores do ATL, e implementações de recolha mais completas e eficientes são fornecidas pelo CAtlArray e CAtlMap.

Ao contrário de outras coleções de mapas em ATL e MFC, esta classe é implementada com um array simples, e as pesquisas de consulta requerem uma pesquisa linear. CAtlMap deve ser usado quando o array contém um grande número de elementos.

Requerimentos

Cabeçalho: atlsimpcoll.h

Example

// Create a map with an integer key and character pointer value
CSimpleMap<int, char *> iArray;   

CSimpleMap::Add

Adiciona uma chave e um valor associado ao array do mapa.

BOOL Add(const TKey& key, const TVal& val);

Parâmetros

chave
A chave.

val
O valor associado.

Valor de retorno

Retorna TRUE se a chave e o valor foram adicionados com sucesso, FALSE caso contrário.

Observações

Cada par de chave e valor adicionado faz com que a memória do array de mapeamento seja libertada e realocada para garantir que os dados de cada um sejam sempre armazenados de forma contígua. Ou seja, o segundo elemento-chave segue sempre diretamente o primeiro elemento chave na memória, e assim sucessivamente.

CSimpleMap::_ArrayElementType

Um typedef para o tipo de chave.

typedef TVal _ArrayElementType;

CSimpleMap::_ArrayKeyType

Um typedef para o tipo de valor.

typedef TKey _ArrayKeyType;

CSimpleMap::CSimpleMap

O construtor.

CSimpleMap();

Observações

Inicializa os membros de dados.

CSimpleMap::~CSimpleMap

O destruidor.

~CSimpleMap();

Observações

Liberta todos os recursos alocados.

CSimpleMap::FindKey

Encontra uma chave específica.

int FindKey(const TKey& key) const;

Parâmetros

chave
A chave para pesquisar.

Valor de retorno

Devolve o índice da chave se encontrada, caso contrário devolve -1.

CSimpleMap::FindVal

Encontra um valor específico.

int FindVal(const TVal& val) const;

Parâmetros

val
O valor para procurar.

Valor de retorno

Devolve o índice do valor se for encontrado, caso contrário devolve -1.

CSimpleMap::GetKeyAt

Recupera a chave no índice especificado.

TKey& GetKeyAt(int nIndex) const;

Parâmetros

nIndex
O índice da chave a voltar.

Valor de retorno

Devolve a chave referenciada pelo nIndex.

Observações

O índice passado por nIndex deve ser válido para que o valor de retorno seja significativo.

CSimpleMap::GetSize

Devolve o número de entradas no array de mapeamento.

int GetSize() const;

Valor de retorno

Devolve o número de entradas (uma chave e um valor é uma entrada) no array de mapeamento.

CSimpleMap::GetValueAt

Recupera o valor no índice específico.

TVal& GetValueAt(int nIndex) const;

Parâmetros

nIndex
O índice do valor a devolver.

Valor de retorno

Devolve o valor referenciado pelo nIndex.

Observações

O índice passado por nIndex deve ser válido para que o valor de retorno seja significativo.

CSimpleMap::Procurar

Devolve o valor associado à chave dada.

TVal Lookup(const TKey& key) const;

Parâmetros

chave
A chave.

Valor de retorno

Devolve o valor associado. Se não for encontrada uma chave correspondente, o NULL é devolvido.

CSimpleMap::Remover

Remove uma chave e um valor correspondente.

BOOL Remove(const TKey& key);

Parâmetros

chave
A chave.

Valor de retorno

Retorna TRUE se a chave e o valor correspondente foram removidos com sucesso, FALSE caso contrário.

CSimpleMap::RemoveAll

Remove todas as chaves e valores.

void RemoveAll();

Observações

Remove todas as chaves e valores do objeto do array de mapeamento.

CSimpleMap::RemoveAt

Remove uma chave e o valor associado no índice especificado.

BOOL RemoveAt(int nIndex);

Parâmetros

nIndex
O índice da chave e do valor associado a remover.

Valor de retorno

Retorna TRUE em caso de sucesso, FALSE se o índice especificado for inválido.

CSimpleMap::ReverseLookup

Devolve a chave associada ao valor dado.

TKey ReverseLookup(const TVal& val) const;

Parâmetros

val
O valor.

Valor de retorno

Devolve a chave associada. Se não for encontrada uma chave correspondente, o NULL é devolvido.

CSimpleMap::SetAt

Define o valor associado à chave dada.

BOOL SetAt(const TKey& key, const TVal& val);

Parâmetros

chave
A chave.

val
O novo valor a atribuir.

Valor de retorno

Retorna TRUE se a chave foi encontrada e o valor foi alterado com sucesso, FALSE caso contrário.

CSimpleMap::SetAtIndex

Define a chave e o valor num índice especificado.

BOOL SetAtIndex(
    int nIndex,
    const TKey& key,
    const TVal& val);

Parâmetros

nIndex
O índice, referenciando a combinação de chave e valor para mudar.

chave
A nova chave.

val
O novo valor.

Valor de retorno

Retorna TRUE se for bem-sucedido, FALSE se o índice não for válido.

Observações

Atualiza tanto a chave como o valor apontados pelo nIndex.

Consulte também

Visão geral da classe