Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
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.