CTypedPtrMap, classe
Fournit un « wrapper » de type sécurisé pour les objets des classes de mappage de pointeur CMapPtrToPtr
, CMapPtrToWord
, CMapWordToPtr
et 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
, CMapWordToPtr
ou 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 vérification de type C++ permet d’éliminer les erreurs provoquées par des types de 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