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 T
donné, 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
Met à jour la clé et la valeur vers lesquelles pointe nIndex.