Share via


CRBMultiMap, classe

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

CRBMultiMap::CRBMultiMap

Constructeur.

CRBMultiMap::~CRBMultiMap

Le destructeur.

Méthodes publiques

Nom

Description

CRBMultiMap::FindFirstWithKey

Appelez cette méthode pour rechercher la position du premier élément avec une clé donnée.

CRBMultiMap::GetNextValueWithKey

Appelez cette méthode pour obtenir la valeur associée à une clé donnée, puis mettez à jour la valeur de position.

CRBMultiMap::GetNextWithKey

Appelez cette méthode pour obtenir l'élément associé à une clé donnée, puis mettez à jour la valeur de position.

CRBMultiMap::Insert

Appelez cette méthode pour insérer une paire d'éléments dans le mappage.

CRBMultiMap::RemoveKey

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

CRBTree

CRBMultiMap

Configuration requise

Header: atlcoll.h

Voir aussi

Référence

CRBTree, classe

CAtlMap, classe

CRBMap, classe

Autres ressources

Vue d'ensemble de la classe ATL