Compartilhar via


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

CObject

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 Devolução

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 Devolução

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 Devolução

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);
}

Confira também

COLLECT de amostra MFC
Classe CObject
Gráfico da hierarquia