Classe di CRBMultiMap

Questa classe rappresenta una struttura di mapping che consente ogni chiave può essere associata a più di un valore, utilizzando una struttura ad albero binaria Rosso- Nero.

template<
   typename K,
   typename V,
   class KTraits = CElementTraits< K >,
   class VTraits = CElementTraits< V >
> class CRBMultiMap : public CRBTree< K, V, KTraits, VTraits >

Parametri

  • K
    Il tipo di elemento chiave.

  • V
    Il tipo di elemento di valore.

  • KTraits
    Il codice utilizzato per copiare o spostare elementi chiave.Vedere classe di CElementTraits per ulteriori informazioni.

  • VTraits
    Il codice utilizzato per copiare o spostare elementi di valore.

Membri

1ddxd5hx.collapse_all(it-it,VS.110).gifCostruttori pubblici

Nome

Descrizione

CRBMultiMap::CRBMultiMap

Costruttore.

CRBMultiMap::~CRBMultiMap

Il distruttore.

1ddxd5hx.collapse_all(it-it,VS.110).gifMetodi pubblici

Nome

Descrizione

CRBMultiMap::FindFirstWithKey

Chiamare questo metodo per trovare la posizione del primo elemento con una chiave specificata.

CRBMultiMap::GetNextValueWithKey

Chiamare questo metodo per ottenere il valore associato a una chiave specificata e aggiornare il valore della posizione.

CRBMultiMap::GetNextWithKey

Chiamare questo metodo per ottenere un elemento associato a una chiave specificata e aggiornare il valore della posizione.

CRBMultiMap::Insert

Chiamare questo metodo per inserire una coppia dell'elemento nella mappa.

CRBMultiMap::RemoveKey

Chiamare questo metodo per rimuovere tutti gli elementi chiave/valore di una chiave specificata.

Note

CRBMultiMap fornisce il supporto per una matrice di mapping di qualsiasi tipo specificato, mantenimento matrice ordinata degli elementi chiavi e i valori.A differenza della classe CRBMap, ogni chiave può essere associata a più di un valore.

Gli elementi (consistendo di una chiave e un valore vengono archiviati in una struttura ad albero binaria, utilizzando il metodo CRBMultiMap::Insert.Gli elementi possono essere rimossi mediante il metodo CRBMultiMap::RemoveKey, che rimuove tutti gli elementi che corrispondono alla chiave specificata.

Attraversare la struttura ad albero è consentito con metodi come CRBTree::GetHeadPosition, CRBTree::GetNexte CRBTree::GetNextValue.Accedere ai valori potenzialmente più per chiave è possibile utilizzare i metodi CRBMultiMap::FindFirstWithKey, CRBMultiMap::GetNextValueWithKeye CRBMultiMap::GetNextWithKey.Vedere l'esempio relativo CRBMultiMap::CRBMultiMap per un'illustrazione su in pratica.

I parametri VTraits e KTraits disponibili classi di tratti che contengono tutto il codice supplementare necessario per copiare o spostare elementi.

CRBMultiMap è derivato da CRBTree, che implementa una struttura ad albero binaria utilizzando l'algoritmo Rosso- Nero.Un'alternativa a CRBMultiMap e a CRBMap viene fornita dalla classe CAtlMap.Quando solo un numero limitato di elementi deve essere memorizzato, considerare l'utilizzo della classe CSimpleMap anziché.

Per un maggiore la descrizione completa di diverse classi di raccolte e le relative funzionalità e caratteristiche di prestazioni, vedere Classi di raccolte ATL.

Gerarchia di ereditarietà

CRBTree

CRBMultiMap

Requisiti

Header: atlcoll.h

Vedere anche

Riferimenti

Classe di CRBTree

Classe di CAtlMap

Classe di CRBMap

Altre risorse

I cenni preliminari sulle classi ATL