Compartir a través de


CSimpleMap (clase)

Esta clase proporciona compatibilidad con una matriz de asignación simple.

Sintaxis

template <class TKey, class TVal, class TEqual = CSimpleMapEqualHelper<TKey, TVal>>
class CSimpleMap

Parámetros

TKey
Tipo de elemento clave.

TVal
Tipo de elemento de valor.

TEqual
Objeto de rasgos, que define la prueba de igualdad para los elementos de tipo T.

Miembros

Definiciones de tipos públicas

Nombre Descripción
CSimpleMap::_ArrayElementType Definición de tipo para el tipo de valor.
CSimpleMap::_ArrayKeyType Definición de tipo para el tipo de clave.

Constructores públicos

Nombre Descripción
CSimpleMap::CSimpleMap Constructor .
CSimpleMap::~CSimpleMap El destructor .

Métodos públicos

Nombre Descripción
CSimpleMap::Add Agrega una clave y un valor asociado a la matriz de asignaciones.
CSimpleMap::FindKey Busca una clave específica.
CSimpleMap::FindVal Busca un valor específico.
CSimpleMap::GetKeyAt Recupera la clave especificada.
CSimpleMap::GetSize Devuelve el número de entradas de la matriz de asignación.
CSimpleMap::GetValueAt Recupera el valor especificado.
CSimpleMap::Lookup Devuelve el valor asociado a la clave facilitada.
CSimpleMap::Remove Quita una clave y un valor coincidente.
CSimpleMap::RemoveAll Quita todas las claves y valores.
CSimpleMap::RemoveAt Quita una clave específica y un valor coincidente.
CSimpleMap::ReverseLookup Devuelve la clave asociada al valor facilitado.
CSimpleMap::SetAt Establece el valor asociado a la clave facilitada.
CSimpleMap::SetAtIndex Establece la clave y el valor específicos.

Comentarios

CSimpleMap proporciona compatibilidad con una matriz de asignación simple de cualquier tipo T dado, administrando una matriz desordenada de elementos clave y sus valores asociados.

El parámetro TEqual proporciona un medio para definir una función de igualdad para dos elementos de tipo T. Al crear una clase similar a CSimpleMapEqualHelper, es posible modificar el comportamiento de la prueba de igualdad para cualquier matriz determinada. Por ejemplo, al tratar con una matriz de punteros, puede ser útil definir la igualdad según los valores a los que hacen referencia los punteros. La implementación predeterminada usa operator==().

Tanto CSimpleMap como CSimpleArray se proporcionan para la compatibilidad con versiones anteriores de ATL, mientras que CAtlArray y CAtlMap proporcionan implementaciones de la colección más completas y eficaces.

A diferencia de otras colecciones de mapa en ATL y MFC, esta clase se implementa con una matriz simple y las búsquedas requieren una búsqueda lineal. CAtlMap se debe usar cuando la matriz contiene un gran número de elementos.

Requisitos

Encabezado: atlsimpcoll.h

Ejemplo

// Create a map with an integer key and character pointer value
CSimpleMap<int, char *> iArray;   

CSimpleMap::Add

Agrega una clave y un valor asociado a la matriz de asignaciones.

BOOL Add(const TKey& key, const TVal& val);

Parámetros

key
Clave.

val
Valor asociado.

Valor devuelto

Devuelve TRUE si la clave y el valor se agregaron correctamente; de lo contrario, devuelve FALSE.

Comentarios

Cada par de clave y valor agregado hace que la memoria de la matriz de asignación se libere y reasigne para asegurarse de que los datos de cada uno siempre se almacenan de forma contigua. Es decir, el segundo elemento clave siempre sigue directamente al primer elemento clave en la memoria, etc.

CSimpleMap::_ArrayElementType

Definición de tipo para el tipo de clave.

typedef TVal _ArrayElementType;

CSimpleMap::_ArrayKeyType

Definición de tipo para el tipo de valor.

typedef TKey _ArrayKeyType;

CSimpleMap::CSimpleMap

Constructor .

CSimpleMap();

Comentarios

Inicializa los miembros de datos.

CSimpleMap::~CSimpleMap

El destructor .

~CSimpleMap();

Comentarios

Libera todos los recursos asignados.

CSimpleMap::FindKey

Busca una clave específica.

int FindKey(const TKey& key) const;

Parámetros

key
Clave que se va a buscar.

Valor devuelto

Devuelve el índice de la clave si se encuentra; de lo contrario, devuelve -1.

CSimpleMap::FindVal

Busca un valor específico.

int FindVal(const TVal& val) const;

Parámetros

val
Valor para el que se va a buscar.

Valor devuelto

Devuelve el índice del valor si se encuentra; de lo contrario, devuelve -1.

CSimpleMap::GetKeyAt

Recupera la clave en el índice especificado.

TKey& GetKeyAt(int nIndex) const;

Parámetros

nIndex
Índice de la clave que se va a devolver.

Valor devuelto

Devuelve la clave a la que nIndex hace referencia.

Comentarios

El índice pasado por nIndex debe ser válido para que el valor devuelto sea significativo.

CSimpleMap::GetSize

Devuelve el número de entradas de la matriz de asignación.

int GetSize() const;

Valor devuelto

Devuelve el número de entradas (una clave y un valor es una entrada) en la matriz de asignación.

CSimpleMap::GetValueAt

Recupera el valor en el índice específico.

TVal& GetValueAt(int nIndex) const;

Parámetros

nIndex
Índice del valor que se ha de devolver.

Valor devuelto

Devuelve el valor al que nIndex hace referencia.

Comentarios

El índice pasado por nIndex debe ser válido para que el valor devuelto sea significativo.

CSimpleMap::Lookup

Devuelve el valor asociado a la clave facilitada.

TVal Lookup(const TKey& key) const;

Parámetros

key
Clave.

Valor devuelto

Devuelve el valor asociado. Si no se encuentra ninguna clave coincidente, se devuelve NULL.

CSimpleMap::Remove

Quita una clave y un valor coincidente.

BOOL Remove(const TKey& key);

Parámetros

key
Clave.

Valor devuelto

Devuelve TRUE si la clave y el valor coincidente se quitaron correctamente; de lo contrario, devuelve FALSE.

CSimpleMap::RemoveAll

Quita todas las claves y valores.

void RemoveAll();

Comentarios

Quita todas las claves y valores del objeto de matriz de asignación.

CSimpleMap::RemoveAt

Quita una clave y un valor asociado en el índice especificado.

BOOL RemoveAt(int nIndex);

Parámetros

nIndex
Índice de la clave y el valor asociado que se va a quitar.

Valor devuelto

Devuelve TRUE si la operación se realiza correctamente y FALSE si el índice especificado es un índice no válido.

CSimpleMap::ReverseLookup

Devuelve la clave asociada al valor facilitado.

TKey ReverseLookup(const TVal& val) const;

Parámetros

val
Valor de tipo .

Valor devuelto

Devuelve la clave asociada. Si no se encuentra ninguna clave coincidente, se devuelve NULL.

CSimpleMap::SetAt

Establece el valor asociado a la clave facilitada.

BOOL SetAt(const TKey& key, const TVal& val);

Parámetros

key
Clave.

val
Nuevo valor que se va a asignar.

Valor devuelto

Devuelve TRUE si se encontró la clave y el valor se cambió correctamente; en caso contrario, FALSE.

CSimpleMap::SetAtIndex

Establece la clave y el valor en un índice especificado.

BOOL SetAtIndex(
    int nIndex,
    const TKey& key,
    const TVal& val);

Parámetros

nIndex
Índice, que hace referencia al emparejamiento de clave y valor que se va a cambiar.

key
Nueva clave.

val
Nuevo valor.

Valor devuelto

Devuelve TRUE si la operación se realiza correctamente y FALSE si el índice no era válido.

Comentarios

Actualiza tanto la clave como el valor a los que apunta nIndex.

Consulte también

Información general sobre la clase