Classe de CRBMultiMap
Cette classe représente une structure de mappage qui permet à chaque clé peut être associé à plusieurs valeurs, à l'aide d'un arbre binaire de Rouge- Noir.
template<
typename K,
typename V,
class KTraits = CElementTraits< K >,
class VTraits = CElementTraits< V >
> class CRBMultiMap : public CRBTree< K, V, KTraits, VTraits >
Paramètres
K
Le type d'élément clé.V
Le type d'élément de valeur.KTraits
Le code utilisé pour copier ou déplacer des éléments clé.Consultez classe de CElementTraits pour plus de détails.VTraits
Le code utilisé pour copier ou déplacer des éléments de valeur.
Membres
Constructeurs publics
Nom |
Description |
---|---|
Constructeur. |
|
Le destructeur. |
Méthodes publiques
Nom |
Description |
---|---|
Appelez cette méthode pour rechercher la position du premier élément avec une clé donnée. |
|
Appelez cette méthode pour obtenir la valeur associée à une clé donnée, puis mettez à jour la valeur de position. |
|
Appelez cette méthode pour obtenir l'élément associé à une clé donnée, puis mettez à jour la valeur de position. |
|
Appelez cette méthode pour insérer une paire d'éléments dans le mappage. |
|
Appelez cette méthode pour supprimer tous les éléments de clé/valeur d'une clé donnée. |
Notes
CRBMultiMap fournit la prise en charge d'un tableau de mappage d'un type donné, la gestion d'un tableau ordonné d'éléments clés et de valeurs.Contrairement à la classe de CRBMap , chaque clé peut être associé à plusieurs valeurs.
Les éléments (composée d'une clé et une valeur) sont stockés dans une structure d'arborescence binaire, à l'aide de la méthode de CRBMultiMap::Insert .Les éléments peuvent être supprimés à l'aide de la méthode de CRBMultiMap::RemoveKey , qui supprime tous les éléments qui correspondent à la clé spécifiée.
Parcourir l'arborescence est rendu possible avec des méthodes telles que CRBTree::GetHeadPosition, CRBTree::GetNext, et CRBTree::GetNextValue.L'accès aux valeurs de plusieurs par clé est possible de les méthodes de CRBMultiMap::FindFirstWithKey, de CRBMultiMap::GetNextValueWithKey, et de CRBMultiMap::GetNextWithKey .Consultez l'exemple pour CRBMultiMap::CRBMultiMap pour une illustration de cette pratique.
Les paramètres d' KTraits et d' VTraits sont des classes Ctraits qui contiennent un code supplémentaire nécessaire pour copier ou déplacer des éléments.
CRBMultiMap est dérivé de CRBTree, qui implémente un arbre binaire à l'aide de Rouge- Noir.Une alternative à CRBMultiMap et à CRBMap est offertes par la classe de CAtlMap .Lorsque seul un petit nombre d'éléments doit être enregistrés, utilisez la classe de CSimpleMap à la place.
Pour une description plus complet des classes de collection et leurs caractéristiques de fonctionnalités et performances, consultez Classes de collection ATL.
Hiérarchie d'héritage
CRBMultiMap
Configuration requise
Header: atlcoll.h