Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Fornece um "wrapper" fortemente tipado para objetos das classes de mapa de ponteiro CMapPtrToPtr, CMapPtrToWord, CMapWordToPtr e CMapStringToPtr.
Sintaxe
template<class BASE_CLASS, class KEY, class VALUE>
class CTypedPtrMap : public BASE_CLASS
Parâmetros
BASE_CLASS
Classe base da classe de mapa de ponteiro tipado; deve ser uma classe de mapa de ponteiro (CMapPtrToPtr, CMapPtrToWord, CMapWordToPtrou CMapStringToPtr).
CHAVE
Classe do objeto usado como a chave para o mapa.
VALOR
Classe do objeto armazenado no mapa.
Membros
Métodos públicos
| Nome | Descrição |
|---|---|
| CTypedPtrMap::GetNextAssoc | Obtém o próximo elemento para iteração. |
| CTypedPtrMap::Lookup | Retorna um KEY com base em um VALUE. |
| CTypedPtrMap::RemoveKey | Remove um elemento especificado por uma chave. |
| CTypedPtrMap::SetAt | Insere um elemento no mapa; substituirá um elemento se uma chave correspondente for encontrada. |
Operadores públicos
| Nome | Descrição |
|---|---|
| CTypedPtrMap::operator [ ] | Insere um elemento no mapa. |
Comentários
Quando você usa CTypedPtrMap, a instalação de verificação de tipo C++ ajuda a eliminar erros causados por tipos de ponteiro incompatíveis.
Como todas as funções CTypedPtrMap estão embutidas, o uso desse modelo não afeta significativamente o tamanho ou a velocidade do código.
Para obter mais informações sobre como usar CTypedPtrMap, consulte os artigos Coleções e Classes baseadas em modelo.
Hierarquia de herança
BASE_CLASS
CTypedPtrMap
Requisitos
Cabeçalho: afxtempl.h
CTypedPtrMap::GetNextAssoc
Recupera o elemento de mapa em rNextPosition, em seguida, atualiza rNextPosition para se referir ao próximo elemento no mapa.
void GetNextAssoc(
POSITION& rPosition,
KEY& rKey,
VALUE& rValue) const;
Parâmetros
rPosition
Especifica uma referência a um valor POSITION retornado por uma chamada GetNextAssoc ou BASE_CLASS::GetStartPosition anterior.
CHAVE
Parâmetro de modelo que especifica o tipo de chaves do mapa.
rKey
Especifica a chave retornada do elemento recuperado.
VALOR
Parâmetro de modelo que especifica o tipo de valores do mapa.
rValue
Especifica o valor retornado do elemento recuperado.
Comentários
Essa função é mais útil para iterar todos os elementos no mapa. Observe que a sequência de posição não é necessariamente a mesma que a sequência de valor de chave.
Se o elemento recuperado for o último no mapa, o novo valor será rNextPosition definido como NULL.
Essa função embutida chama BASE_CLASS::GetNextAssoc.
CTypedPtrMap::Lookup
Lookup usa um algoritmo de hash para localizar rapidamente o elemento de mapa com uma chave que corresponde exatamente a ele.
BOOL Lookup(BASE_CLASS ::BASE_ARG_KEY key, VALUE& rValue) const;
Parâmetros
BASE_CLASS
Parâmetro de modelo que especifica a classe base da classe deste mapa.
chave
A chave do elemento a ser pesquisado.
VALOR
Parâmetro de modelo que especifica o tipo de valores armazenados neste mapa.
rValue
Especifica o valor retornado do elemento recuperado.
Valor de retorno
Não zero se o elemento foi encontrado; caso contrário, 0.
Comentários
Essa função embutida chama BASE_CLASS::Lookup.
CTypedPtrMap::operator [ ]
Esse operador só pode ser usado no lado esquerdo de uma instrução de atribuição (um l-value).
VALUE& operator[ ](base_class ::base_arg_key key);
Parâmetros
VALOR
Parâmetro de modelo que especifica o tipo de valores armazenados neste mapa.
BASE_CLASS
Parâmetro de modelo que especifica a classe base da classe deste mapa.
chave
A chave do elemento a ser pesquisado ou criado no mapa.
Comentários
Se não houver nenhum elemento de mapa com a chave especificada, um novo elemento será criado. Não há nenhum equivalente "lado direito" (r-value) a esse operador porque há a possibilidade de que uma chave não seja encontrada no mapa. Use a função de membro Lookup para recuperação de elemento.
CTypedPtrMap::RemoveKey
Essa função de membro chama BASE_CLASS::RemoveKey.
BOOL RemoveKey(KEY key);
Parâmetros
CHAVE
Parâmetro de modelo que especifica o tipo de chaves do mapa.
chave
Chave para o elemento a ser removido.
Valor de retorno
Não zero se a entrada foi encontrada e removida com êxito; caso contrário, 0.
Comentários
Para comentários mais detalhados, confira CMapStringToOb::RemoveKey.
CTypedPtrMap::SetAt
Essa função membro chama BASE_CLASS::SetAt.
void SetAt(KEY key, VALUE newValue);
Parâmetros
CHAVE
Parâmetro de modelo que especifica o tipo de chaves do mapa.
chave
Especifica o valor da chave do newValue.
newValue
Especifica o ponteiro de objeto que é o valor do novo elemento.
Comentários
Para comentários mais detalhados, confira CMapStringToOb::SetAt.
Confira também
COLLECT de amostra MFC
Gráfico da hierarquia
Classe CMapPtrToPtr
Classe CMapPtrToWord
Classe CMapWordToPtr
Classe CMapStringToPtr