Classe CMapStringToString
Dá suporte a mapas de objetos CString
inseridos por objetos CString
.
Sintaxe
class CMapStringToString : public CObject
Membros
As funções de membro de CMapStringToString
são semelhantes às funções de membro da classe CMapStringToOb. Devido a essa semelhança, é possível usar a documentação de referência da CMapStringToOb
para obter a função específica de membro. Onde quer que você veja um ponteiro CObject
como um valor retornado ou parâmetro de função "output", substitua um ponteiro para char
. Sempre que você vê um ponteiro CObject
como um parâmetro de função, "input", substitua um ponteiro para char
.
BOOL CMapStringToString::Lookup(LPCTSTR<key>, CString&<rValue>) const;
por exemplo, traduz para
BOOL CMapStringToOb::Lookup(const char*<key>, CObject*&<rValue>) const;
Estruturas públicas
Nome | Descrição |
---|---|
CMapStringToString::CPair | Uma estrutura aninhada que contém um valor de chave e o valor do objeto de cadeia de caracteres associado. |
Construtores públicos
Nome | Descrição |
---|---|
CMapStringToString::CMapStringToString | Construtor. |
Métodos públicos
Nome | Descrição |
---|---|
CMapStringToString::GetCount | Retorna o número de elementos no mapa. |
CMapStringToString::GetHashTableSize | Determina o número atual de elementos na tabela de hash. |
CMapStringToString::GetNextAssoc | Obtém o próximo elemento para iteração. |
CMapStringToString::GetSize | Retorna o número de elementos no mapa. |
CMapStringToString::GetStartPosition | Retorna a posição do primeiro elemento. |
CMapStringToString::HashKey | Calcula o valor de hash de uma chave especificada. |
CMapStringToString::InitHashTable | Inicializa a tabela de hash. |
CMapStringToString::IsEmpty | Testa a condição de mapa vazio (sem elementos). |
CMapStringToString::Lookup | Procura um ponteiro nulo com base na tecla de ponteiro nulo. O valor do ponteiro, não a entidade para a qual ele aponta, é usado para a comparação de chaves. |
CMapStringToString::LookupKey | Retorna uma referência à chave associada ao valor de chave especificado. |
CMapStringToString::PGetFirstAssoc | Obtém um ponteiro para o primeiro CString no mapa. |
CMapStringToString::PGetNextAssoc | Obtém um ponteiro para o próximo CString para iteração. |
CMapStringToString::PLookup | Retorna um ponteiro para um CString cujo valor corresponde ao valor especificado. |
CMapStringToString::RemoveAll | Remove todos os elementos desse mapa. |
CMapStringToString::RemoveKey | Remove um elemento especificado por uma chave. |
CMapStringToString::SetAt | Insere um elemento no mapa; substituirá um elemento se uma chave correspondente for encontrada. |
Operadores públicos
Nome | Descrição |
---|---|
CMapStringToString::operator [ ] | Insere um elemento no mapa – substituição do operador por SetAt . |
Comentários
A CMapStringToString
incorpora a macro IMPLEMENT_SERIAL
para suportar serialização e despejo de seus elementos. Se um mapa for armazenado em um arquivo, seja com o operador de inserção (<<) sobrecarregado ou com a função de membro Serialize
, cada elemento será serializado por vez.
Se for necessário um despejo de elementos de individuais CString
- CString
, será necessário definir a profundidade do contexto do despejo para 1 ou maior.
Quando um objeto CMapStringToString
é excluído ou quando seus elementos são removidos, os objetos CString
são removidos conforme apropriado.
Para mais informações sobre CMapStringToString
, confira o artigo Coleções.
Hierarquia de herança
CMapStringToString
Requisitos
Cabeçalho: afxcoll.h
CMapStringToString::CPair
Contém um valor de chave e o valor do objeto de cadeia de caracteres associado.
Comentários
Essa é uma estrutura aninhada na classe CMapStringToString.
A estrutura é composta por dois campos:
key
O valor real do tipo de chave.value
O valor do objeto associado.
Ele é usado para armazenar os valores retornados de CMapStringToString::PLookup, CMapStringToString::PGetFirstAssoc e CMapStringToString::PGetNextAssoc.
Exemplo
Para um exemplo de uso, confira o exemplo de CMapStringToString::PLookup.
CMapStringToString::PGetFirstAssoc
Retorna a primeira entrada do objeto de mapa.
const CPair* PGetFirstAssoc() const;
CPair* PGetFirstAssoc();
Valor de retorno
Um ponteiro para a primeira entrada no mapa; confira CMapStringToString::CPair. Se o mapa estiver vazio, o valor será NULL.
Comentários
Chame essa função para retornar um ponteiro do primeiro elemento no objeto de mapa.
Exemplo
CMapStringToString myMap;
CString myStr[4] = {_T("One"), _T("Two"), _T("Three"), _T("Four")};
CMapStringToString::CPair *pCurVal;
myMap.InitHashTable(257);
// Add 4 elements to the map.
myMap.SetAt(myStr[0], _T("Odd"));
myMap.SetAt(myStr[1], _T("Even"));
myMap.SetAt(myStr[2], _T("Odd"));
myMap.SetAt(myStr[3], _T("Even"));
pCurVal = myMap.PGetFirstAssoc();
while (pCurVal != NULL)
{
_tprintf_s(_T("Current key value at %s: %s\n"),
pCurVal->key, pCurVal->value);
pCurVal = myMap.PGetNextAssoc(pCurVal);
}
CMapStringToString::PGetNextAssoc
Recupera o elemento de mapa apontado por pAssocRec.
const CPair *PGetNextAssoc(const CPair* pAssoc) const;
CPair *PGetNextAssoc(const CPair* pAssoc);
Parâmetros
pAssoc
Aponta para uma entrada de mapa retornada por uma chamada PGetNextAssoc ou PGetFirstAssoc anterior.
Valor de retorno
Um ponteiro para a próxima entrada no mapa; confira CMapStringToString::CPair. Se o elemento for o último no mapa, o valor será NULL.
Comentários
Chame esse método para iterar todos os elementos no mapa. Recupere o primeiro elemento com uma chamada para PGetFirstAssoc
e itere pelo mapa com chamadas sucessivas para PGetNextAssoc
.
Exemplo
Confira o exemplo de CMapStringToString::PGetFirstAssoc.
CMapStringToString::PLookup
Pesquisa o valor mapeado para uma determinada chave.
const CPair* PLookup(LPCTSTR key) const;
CPair* PLookup(LPCTSTR key);
Parâmetros
chave
Um ponteiro para a chave para o elemento a ser pesquisado.
Valor de retorno
Um ponteiro para a chave especificada.
Comentários
Chame esse método para pesquisar um elemento de mapa com uma chave que corresponda exatamente à chave fornecida.
Exemplo
CMapStringToString myMap;
CString myStr[4] = {_T("One"), _T("Two"), _T("Three"), _T("Four")};
myMap.InitHashTable(257);
// Add 4 elements to the map.
myMap.SetAt(myStr[0], _T("Odd"));
myMap.SetAt(myStr[1], _T("Even"));
myMap.SetAt(myStr[2], _T("Odd"));
myMap.SetAt(myStr[3], _T("Even"));
// Print the element values with odd key values.
CMapStringToString::CPair *pCurVal;
for (int i = 0; i < 4; i += 2)
{
pCurVal = myMap.PLookup(myStr[i]);
_tprintf_s(_T("Current key value at %s: %s\n"),
pCurVal->key, pCurVal->value);
}