Compartir a través de


Clase CMapStringToString

Admite mapas de objetos CString con clave de objetos CString .

Sintaxis

class CMapStringToString : public CObject

Miembros

Las funciones miembro de CMapStringToString son similares a las funciones miembro de la clase CMapStringToOb. Debido a esta similitud, puede utilizar la documentación de referencia de CMapStringToOb para obtener información específica de la función miembro. Siempre que veas un puntero CObject como un parámetro de función o un valor devuelto, sustituye un puntero por char. Siempre que veas un puntero CObject como un parámetro de función, usa un puntero para char.

BOOL CMapStringToString::Lookup(LPCTSTR<key>, CString&<rValue>) const;

por ejemplo, se traduce en

BOOL CMapStringToOb::Lookup(const char*<key>, CObject*&<rValue>) const;

Estructuras públicas

Nombre Descripción
CMapStringToString::CPair Estructura anidada que contiene un valor de clave y el valor del objeto de cadena sociado.

Constructores públicos

Nombre Descripción
CMapStringToString::CMapStringToString Constructor.

Métodos públicos

Nombre Descripción
CMapStringToString::GetCount Devuelve el número de elementos en esta asignación.
CMapStringToString::GetHashTableSize Determina el número actual de elementos de la tabla hash.
CMapStringToString::GetNextAssoc Obtiene el siguiente elemento para iterar.
CMapStringToString::GetSize Devuelve el número de elementos en esta asignación.
CMapStringToString::GetStartPosition Devuelve la posición del primer elemento.
CMapStringToString::HashKey Calcula el valor hash de una clave especificada.
CMapStringToString::InitHashTable Inicializa la tabla hash.
CMapStringToString::IsEmpty Prueba la condición de asignación vacía (sin elementos).
CMapStringToString::Lookup Busca un puntero nulo basado en la clave de puntero nulo. El valor del puntero, no la entidad a la que apunta, se usa para la comparación de claves.
CMapStringToString::LookupKey Devuelve una referencia a la clave asociada al valor de clave especificado.
CMapStringToString::PGetFirstAssoc Obtiene un puntero al primer CString de la asignación.
CMapStringToString::PGetNextAssoc Obtiene un puntero al siguiente CString para iterar.
CMapStringToString::PLookup Devuelve un puntero a una CString cuyo valor coincide con el valor especificado.
CMapStringToString::RemoveAll Quita todos los elementos de esta asignación.
CMapStringToString::RemoveKey Quita un elemento especificado por una clave.
CMapStringToString::SetAt Inserta un elemento en el mapa; reemplaza un elemento existente si se encuentra una clave coincidente.

Operadores públicos

Nombre Descripción
CMapStringToString::operator [ ] Inserta un elemento en la asignación: sustitución de operadores para SetAt.

Comentarios

CMapStringToString incorpora la macro IMPLEMENT_SERIAL para admitir la serialización y el volcado de sus elementos. Cada elemento se serializa a su vez si una asignación se almacena en un archivo, o con el operador de inserción sobrecargada (<<) o con la función miembro Serialize.

Si se necesita un volcado de elementos CString- CString de asignación individuales, se debe establecer la profundidad del contexto de volcado en 1 o un valor superior.

Cuando se elimina un objeto CMapStringToString, o cuando se quitan sus elementos, se quitan los objetos CString según corresponda.

Para más información sobre CMapStringToString, consulte el artículo Colecciones.

Jerarquía de herencia

CObject

CMapStringToString

Requisitos

Encabezado: afxcoll.h

CMapStringToString::CPair

Contiene un valor de clave y el valor del objeto de cadena asociado.

Comentarios

Se trata de una estructura anidada dentro de la clase CMapStringToString.

La estructura se compone de dos campos:

  • key El valor real del tipo de clave.

  • value El valor del objeto asociado.

Se usa para almacenar los valores devueltos de CMapStringToString::P Lookup, CMapStringToString::P GetFirstAssoc y CMapStringToString::P GetNextAssoc.

Ejemplo

Para obtener un ejemplo de uso, consulta el supuesto de CMapStringToString::P Lookup.

CMapStringToString::PGetFirstAssoc

Devuelve la primera entrada del objeto de asignación.

const CPair* PGetFirstAssoc() const;

CPair* PGetFirstAssoc();

Valor devuelto

Puntero a la primera entrada del mapa; consulta CMapStringToString::CPair. Si el mapa está vacío, el valor es NULL.

Comentarios

Llama a esta función para devolver un puntero al primer elemento del objeto de mapa.

Ejemplo

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 el elemento de mapa al que apunta pAssocRec.

const CPair *PGetNextAssoc(const CPair* pAssoc) const;

CPair *PGetNextAssoc(const CPair* pAssoc);

Parámetros

pAssoc
Apunta a una entrada de mapa devuelta por una llamada PGetNextAssoc o PGetFirstAssoc anterior.

Valor devuelto

Un puntero a la primera entrada del mapa; consulta CMapStringToString::CPair. Si el elemento es el último del mapa, el valor es NULL.

Comentarios

Llama a este método para recorrer en iteración todos los elementos del mapa. Recupera el primer elemento con una llamada a PGetFirstAssoc y, a continuación, recorra en iteración el mapa con llamadas sucesivas a PGetNextAssoc.

Ejemplo

Vea el ejemplo de CMapStringToString::P GetFirstAssoc.

CMapStringToString::PLookup

Busca el valor asignado a una clave determinada.

const CPair* PLookup(LPCTSTR key) const;

CPair* PLookup(LPCTSTR key);

Parámetros

key
Un puntero a la clave para el elemento que se va a buscar.

Valor devuelto

Un puntero a la clave especificada.

Comentarios

Llama a este método para buscar un elemento de asignación con una clave que coincida exactamente con la clave especificada.

Ejemplo

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

Vea también

Ejemplo COLLECT de MFC
CObject (clase)
Gráfico de jerarquías