Share via


CTypedPtrMap, classe

Fournit un « wrapper » de type sécurisé pour les objets des classes de mappage de pointeur CMapPtrToPtr, CMapPtrToWord, CMapWordToPtret CMapStringToPtr.

Syntaxe

template<class BASE_CLASS, class KEY, class VALUE>
class CTypedPtrMap : public BASE_CLASS

Paramètres

BASE_CLASS
Classe de base de la classe de mappage de pointeur typée ; doit être une classe de carte de pointeur ( CMapPtrToPtr, CMapPtrToWord, CMapWordToPtrou CMapStringToPtr).

KEY
Classe de l’objet utilisé comme clé de la carte.

VALUE
Classe de l’objet stocké dans la carte.

Membres

Méthodes publiques

Nom Description
CTypedPtrMap ::GetNextAssoc Obtient l’élément suivant pour itérer.
CTypedPtrMap ::Lookup Retourne une KEY valeur basée sur un VALUE.
CTypedPtrMap ::RemoveKey Supprime un élément spécifié par une clé.
CTypedPtrMap ::SetAt Insère un élément dans la carte ; remplace un élément existant si une clé correspondante est trouvée.

Opérateurs publics

Nom Description
CTypedPtrMap ::operator [ ] Insère un élément dans la carte.

Notes

Lorsque vous utilisez CTypedPtrMap, la fonctionnalité de case activée de type C++ permet d’éliminer les erreurs provoquées par des types pointeurs incompatibles.

Étant donné que toutes les CTypedPtrMap fonctions sont inline, l’utilisation de ce modèle n’affecte pas considérablement la taille ou la vitesse de votre code.

Pour plus d’informations sur l’utilisation CTypedPtrMap, consultez les articles Collections et classes basées sur des modèles.

Hiérarchie d'héritage

BASE_CLASS

CTypedPtrMap

Spécifications

En-tête : afxtempl.h

CTypedPtrMap ::GetNextAssoc

Récupère l’élément de carte à l’adresse rNextPosition, puis met à jour rNextPosition pour faire référence à l’élément suivant dans la carte.

void GetNextAssoc(
    POSITION& rPosition,
    KEY& rKey,
    VALUE& rValue) const;

Paramètres

rPosition
Spécifie une référence à une valeur POSITION retournée par un appel précédent GetNextAssoc ou BASE_CLASS::GetStartPosition .

KEY
Paramètre de modèle spécifiant le type des clés de la carte.

rKey
Spécifie la clé retournée de l’élément récupéré.

VALUE
Paramètre de modèle spécifiant le type des valeurs de la carte.

rValue
Spécifie la valeur retournée de l’élément récupéré.

Notes

Cette fonction est particulièrement utile pour effectuer une itération sur tous les éléments de la carte. Notez que la séquence de position n’est pas nécessairement la même que la séquence de valeurs de clé.

Si l’élément récupéré est le dernier de la carte, la nouvelle valeur rNextPosition est définie sur NULL.

Cette fonction inline appelle BASE_CLASS::GetNextAssoc.

CTypedPtrMap ::Lookup

Lookup utilise un algorithme de hachage pour rechercher rapidement l’élément de carte avec une clé qui correspond exactement.

BOOL Lookup(BASE_CLASS ::BASE_ARG_KEY key, VALUE& rValue) const;

Paramètres

BASE_CLASS
Paramètre de modèle spécifiant la classe de base de la classe de cette carte.

key
Clé de l’élément à rechercher.

VALUE
Paramètre de modèle spécifiant le type de valeurs stockées dans cette carte.

rValue
Spécifie la valeur retournée de l’élément récupéré.

Valeur de retour

Différent de zéro si l’élément a été trouvé ; sinon 0.

Notes

Cette fonction inline appelle BASE_CLASS::Lookup.

CTypedPtrMap ::operator [ ]

Cet opérateur ne peut être utilisé que sur le côté gauche d’une instruction d’affectation (une valeur l).

VALUE& operator[ ](base_class ::base_arg_key key);

Paramètres

VALUE
Paramètre de modèle spécifiant le type de valeurs stockées dans cette carte.

BASE_CLASS
Paramètre de modèle spécifiant la classe de base de la classe de cette carte.

key
Clé de l’élément à rechercher ou à créer dans la carte.

Notes

S’il n’existe aucun élément de mappage avec la clé spécifiée, un nouvel élément est créé. Il n’existe pas de « côté droit » (r-value) équivalent à cet opérateur, car il est possible qu’une clé ne soit pas trouvée dans la carte. Utilisez la fonction membre pour la récupération d’élément Lookup .

CTypedPtrMap ::RemoveKey

Cette fonction membre appelle BASE_CLASS::RemoveKey.

BOOL RemoveKey(KEY key);

Paramètres

KEY
Paramètre de modèle spécifiant le type des clés de la carte.

key
Clé pour que l’élément soit supprimé.

Valeur de retour

Différent de zéro si l’entrée a été trouvée et supprimée avec succès ; sinon 0.

Notes

Pour obtenir des remarques plus détaillées, consultez CMapStringToOb ::RemoveKey.

CTypedPtrMap ::SetAt

Cette fonction membre appelle BASE_CLASS::SetAt.

void SetAt(KEY key, VALUE newValue);

Paramètres

KEY
Paramètre de modèle spécifiant le type des clés de la carte.

key
Spécifie la valeur de clé du newValue.

newValue
Spécifie le pointeur d’objet qui est la valeur du nouvel élément.

Notes

Pour obtenir des remarques plus détaillées, consultez CMapStringToOb ::SetAt.

Voir aussi

Exemple MFC COLLECT
Graphique hiérarchique
CMapPtrToPtr, classe
CMapPtrToWord, classe
CMapWordToPtr, classe
CMapStringToPtr, classe