Classe CSimpleMap
Essa classe fornece suporte para uma matriz de mapeamento simples.
Sintaxe
template <class TKey, class TVal, class TEqual = CSimpleMapEqualHelper<TKey, TVal>>
class CSimpleMap
Parâmetros
TKey
O tipo de elemento key.
TVal
O tipo de elemento valor.
TEqual
Um objeto de característica, definindo o teste de igualdade para elementos do tipo T
.
Membros
Typedefs públicos
Nome | Descrição |
---|---|
CSimpleMap::_ArrayElementType | Typedef para o tipo de valor. |
CSimpleMap::_ArrayKeyType | Typedef para o tipo de chave. |
Construtores públicos
Nome | Descrição |
---|---|
CSimpleMap::CSimpleMap | O construtor . |
CSimpleMap::~CSimpleMap | O destruidor. |
Métodos públicos
Nome | Descrição |
---|---|
CSimpleMap::Add | Adiciona uma chave e o valor associado à matriz de mapa. |
CSimpleMap::FindKey | Localiza uma chave específica. |
CSimpleMap::FindVal | Localiza um valor específico. |
CSimpleMap::GetKeyAt | Recupera a chave especificada. |
CSimpleMap::GetSize | Retorna o número de entradas na matriz de mapeamento. |
CSimpleMap::GetValueAt | Recupera o valor especificado. |
CSimpleMap::Lookup | Obtém ou define o valor associado à chave especificada. |
CSimpleMap::Lookup | 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 | Retorna a chave associada ao valor especificado. |
CSimpleMap::SetAt | Define o valor associado à chave especificada. |
CSimpleMap::SetAtIndex | Define a chave e o valor específicos. |
Comentários
CSimpleMap
fornece suporte para uma matriz de mapeamento simples de qualquer tipo T
específico, gerenciando uma matriz não ordenada de elementos de chave e 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 a CSimpleMapEqualHelper, é possível alterar o comportamento do teste de igualdade para qualquer matriz específica. Por exemplo, ao lidar com uma matriz de ponteiros, pode ser útil definir a igualdade como dependendo dos valores que os ponteiros referenciam. A implementação padrão utiliza operator==().
Tanto CSimpleMap
quanto CSimpleArray são fornecidas para compatibilidade com versões anteriores da ATL, e implementações de coleção mais completas e eficientes são fornecidas por CAtlArray e CAtlMap.
Ao contrário de outras coleções de mapas na ATL e no MFC, essa classe é implementada com uma matriz simples e as pesquisas exigem uma pesquisa linear. CAtlMap
deve ser usado quando a matriz contém um grande número de elementos.
Requisitos
Cabeçalho: atlsimpcoll.h
Exemplo
// Create a map with an integer key and character pointer value
CSimpleMap<int, char *> iArray;
CSimpleMap::Add
Adiciona uma chave e o valor associado à matriz de mapa.
BOOL Add(const TKey& key, const TVal& val);
Parâmetros
chave
A chave.
val
O valor associado.
Valor de retorno
Retornará TRUE se a chave e o valor tiverem sido adicionados com êxito, caso contrário, FALSE.
Comentários
Cada par de chave e valor adicionado faz com que a memória da matriz de mapeamento seja liberada e realocada a fim de garantir que os dados de cada um sejam sempre armazenados de modo contíguo. Ou seja, o segundo elemento de chave sempre segue diretamente o primeiro elemento de chave na memória e assim por diante.
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();
Comentários
Inicializa os membros de dados.
CSimpleMap::~CSimpleMap
O destruidor.
~CSimpleMap();
Comentários
Libera todos os recursos alocados.
CSimpleMap::FindKey
Localiza uma chave específica.
int FindKey(const TKey& key) const;
Parâmetros
chave
A chave a ser pesquisada.
Valor de retorno
Retorna o índice da chave, se encontrado, caso contrário, retorna -1.
CSimpleMap::FindVal
Localiza um valor específico.
int FindVal(const TVal& val) const;
Parâmetros
val
O valor pelo qual pesquisar.
Valor de retorno
Retorna o índice do valor se ele for encontrado, caso contrário, retornará -1.
CSimpleMap::GetKeyAt
Recupera a chave no índice especificado.
TKey& GetKeyAt(int nIndex) const;
Parâmetros
nIndex
O índice da chave a ser retornada.
Valor de retorno
Retorna a chave referenciada por nIndex.
Comentários
O índice passado por nIndex deve ser válido para que o valor retornado seja significativo.
CSimpleMap::GetSize
Retorna o número de entradas na matriz de mapeamento.
int GetSize() const;
Valor de retorno
Retorna o número de entradas (uma chave e um valor é uma entrada) na matriz de mapeamento.
CSimpleMap::GetValueAt
Recupera o valor no índice específico.
TVal& GetValueAt(int nIndex) const;
Parâmetros
nIndex
O índice do valor a ser retornado.
Valor de retorno
Retorna o valor referenciado por nIndex.
Comentários
O índice passado por nIndex deve ser válido para que o valor retornado seja significativo.
CSimpleMap::Lookup
Obtém ou define o valor associado à chave especificada.
TVal Lookup(const TKey& key) const;
Parâmetros
chave
A chave.
Valor de retorno
Retorna o valor associado. Se nenhuma chave correspondente for encontrada, será retornado NULL.
CSimpleMap::Remove
Remove uma chave e um valor correspondente.
BOOL Remove(const TKey& key);
Parâmetros
chave
A chave.
Valor de retorno
Retornará TRUE se a chave e o valor correspondente forem removidos com êxito, caso contrário, FALSE.
CSimpleMap::RemoveAll
Remove todas as chaves e valores.
void RemoveAll();
Comentários
Remove todas as chaves e valores do objeto da matriz de mapeamento.
CSimpleMap::RemoveAt
Remove uma chave e um valor associado no índice especificado.
BOOL RemoveAt(int nIndex);
Parâmetros
nIndex
O índice da chave e o valor associado a serem removidos.
Valor de retorno
Retorna TRUE se houver êxito, FALSE se o índice especificado for um índice inválido.
CSimpleMap::ReverseLookup
Retorna a chave associada ao valor especificado.
TKey ReverseLookup(const TVal& val) const;
Parâmetros
val
O valor .
Valor de retorno
Retorna a chave associada. Se nenhuma chave correspondente for encontrada, será retornado NULL.
CSimpleMap::SetAt
Define o valor associado à chave especificada.
BOOL SetAt(const TKey& key, const TVal& val);
Parâmetros
chave
A chave.
val
O novo valor a ser atribuído.
Valor de retorno
Retornará TRUE se a chave tiver sido encontrada e o valor alterado com êxito, caso contrário, FALSE.
CSimpleMap::SetAtIndex
Define a chave e o valor em um índice especificado.
BOOL SetAtIndex(
int nIndex,
const TKey& key,
const TVal& val);
Parâmetros
nIndex
O índice, que faz referência ao emparelhamento de chave e valor a ser alterado.
chave
A nova chave.
val
O novo valor.
Valor de retorno
Retornará TRUE se tiver êxito, FALSE se o índice não for válido.
Comentários
Atualiza a chave e o valor apontados por nIndex.