Partage via


CSimpleMap, classe

Cette classe prend en charge un tableau de mappage simple.

Syntaxe

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

Paramètres

Tkey
Type d’élément clé.

TVal
Type d’élément value.

TEqual
Objet trait, définissant le test d’égalité pour les éléments de type T.

Membres

Typedefs publics

Nom Description
CSimpleMap ::_ArrayElementType Typedef pour le type valeur.
CSimpleMap ::_ArrayKeyType Typedef pour le type de clé.

Constructeurs publics

Nom Description
CSimpleMap ::CSimpleMap Constructeur .
CSimpleMap ::~CSimpleMap Destructeur.

Méthodes publiques

Nom Description
CSimpleMap ::Add Ajoute une clé et une valeur associée au tableau de cartes.
CSimpleMap ::FindKey Recherche une clé spécifique.
CSimpleMap ::FindVal Recherche une valeur spécifique.
CSimpleMap ::GetKeyAt Récupère la clé spécifiée.
CSimpleMap ::GetSize Retourne le nombre d’entrées dans le tableau de mappage.
CSimpleMap ::GetValueAt Récupère la valeur spécifiée.
CSimpleMap ::Lookup Retourne la valeur associée à la clé donnée.
CSimpleMap ::Remove Supprime une clé et une valeur correspondante.
CSimpleMap ::RemoveAll Supprime toutes les clés et valeurs.
CSimpleMap ::RemoveAt Supprime une clé spécifique et une valeur correspondante.
CSimpleMap ::ReverseLookup Retourne la clé associée à la valeur donnée.
CSimpleMap ::SetAt Définit la valeur associée à la clé donnée.
CSimpleMap ::SetAtIndex Définit la clé et la valeur spécifiques.

Notes

CSimpleMap fournit la prise en charge d’un tableau de mappage simple d’un type Tdonné, la gestion d’un tableau non ordonné d’éléments clés et de leurs valeurs associées.

Le paramètre TEqual fournit un moyen de définir une fonction d’égalité pour deux éléments de type T. En créant une classe similaire à CSimpleMapEqualHelper, il est possible de modifier le comportement du test d’égalité pour un tableau donné. Par exemple, lorsque vous traitez d’un tableau de pointeurs, il peut être utile de définir l’égalité en fonction des valeurs référencées par les pointeurs. L’implémentation par défaut utilise operator==().

À la fois CSimpleMap et CSimpleArray sont fournis pour la compatibilité avec les versions ATL précédentes, et les implémentations de collection plus complètes et efficaces sont fournies par CAtlArray et CAtlMap.

Contrairement à d’autres collections cartographiques dans ATL et MFC, cette classe est implémentée avec un tableau simple, et les recherches de recherche nécessitent une recherche linéaire. CAtlMap doit être utilisé lorsque le tableau contient un grand nombre d’éléments.

Spécifications

En-tête : atlsimpcoll.h

Exemple

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

CSimpleMap ::Add

Ajoute une clé et une valeur associée au tableau de cartes.

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

Paramètres

key
Clé.

val
Valeur associée.

Valeur de retour

Retourne TRUE si la clé et la valeur ont été ajoutées correctement, sinon FALSE.

Notes

Chaque paire clé et valeur ajoutée entraîne la libération et la réaffectation de la mémoire du tableau de mappage afin de garantir que les données pour chacune d’elles sont toujours stockées contiguëment. Autrement dit, le deuxième élément clé suit toujours directement le premier élément clé en mémoire, et ainsi de suite.

CSimpleMap ::_ArrayElementType

Typedef pour le type de clé.

typedef TVal _ArrayElementType;

CSimpleMap ::_ArrayKeyType

Typedef pour le type valeur.

typedef TKey _ArrayKeyType;

CSimpleMap ::CSimpleMap

Constructeur .

CSimpleMap();

Notes

Initialise les membres de données.

CSimpleMap ::~CSimpleMap

Destructeur.

~CSimpleMap();

Notes

Libère toutes les ressources allouées.

CSimpleMap ::FindKey

Recherche une clé spécifique.

int FindKey(const TKey& key) const;

Paramètres

key
Clé à rechercher.

Valeur de retour

Retourne l’index de la clé s’il est trouvé, sinon retourne -1.

CSimpleMap ::FindVal

Recherche une valeur spécifique.

int FindVal(const TVal& val) const;

Paramètres

val
Valeur pour laquelle effectuer une recherche.

Valeur de retour

Retourne l’index de la valeur s’il est trouvé, sinon retourne -1.

CSimpleMap ::GetKeyAt

Récupère la clé à l’index spécifié.

TKey& GetKeyAt(int nIndex) const;

Paramètres

nIndex
Index de la clé à retourner.

Valeur de retour

Retourne la clé référencée par nIndex.

Notes

L’index passé par nIndex doit être valide pour que la valeur de retour soit significative.

CSimpleMap ::GetSize

Retourne le nombre d’entrées dans le tableau de mappage.

int GetSize() const;

Valeur de retour

Retourne le nombre d’entrées (une clé et une valeur est une entrée) dans le tableau de mappage.

CSimpleMap ::GetValueAt

Récupère la valeur à l’index spécifique.

TVal& GetValueAt(int nIndex) const;

Paramètres

nIndex
Index de la valeur à retourner.

Valeur de retour

Retourne la valeur référencée par nIndex.

Notes

L’index passé par nIndex doit être valide pour que la valeur de retour soit significative.

CSimpleMap ::Lookup

Retourne la valeur associée à la clé donnée.

TVal Lookup(const TKey& key) const;

Paramètres

key
Clé.

Valeur de retour

Retourne la valeur associée. Si aucune clé correspondante n’est trouvée, LA valeur NULL est retournée.

CSimpleMap ::Remove

Supprime une clé et une valeur correspondante.

BOOL Remove(const TKey& key);

Paramètres

key
Clé.

Valeur de retour

Retourne TRUE si la clé et la valeur correspondante ont été correctement supprimées, FALSE sinon.

CSimpleMap ::RemoveAll

Supprime toutes les clés et valeurs.

void RemoveAll();

Notes

Supprime toutes les clés et valeurs de l’objet de tableau de mappage.

CSimpleMap ::RemoveAt

Supprime une clé et une valeur associée à l’index spécifié.

BOOL RemoveAt(int nIndex);

Paramètres

nIndex
Index de la clé et valeur associée à supprimer.

Valeur de retour

Retourne TRUE en cas de réussite, FALSE si l’index spécifié est un index non valide.

CSimpleMap ::ReverseLookup

Retourne la clé associée à la valeur donnée.

TKey ReverseLookup(const TVal& val) const;

Paramètres

val
valeur .

Valeur de retour

Retourne la clé associée. Si aucune clé correspondante n’est trouvée, LA valeur NULL est retournée.

CSimpleMap ::SetAt

Définit la valeur associée à la clé donnée.

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

Paramètres

key
Clé.

val
Nouvelle valeur à affecter.

Valeur de retour

Retourne TRUE si la clé a été trouvée et que la valeur a été modifiée avec succès, FALSE sinon.

CSimpleMap ::SetAtIndex

Définit la clé et la valeur à un index spécifié.

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

Paramètres

nIndex
Index, référençant le jumelage clé et valeur à modifier.

key
Nouvelle clé.

val
Nouvelle valeur.

Valeur de retour

Retourne TRUE si elle réussit, FALSE si l’index n’a pas été valide.

Notes

Mises à jour à la fois la clé et la valeur pointées par nIndex.

Voir aussi

Vue d’ensemble de la classe