Condividi tramite


CAtlMap Class

Questa classe fornisce metodi per creare e gestire un oggetto mappa.

template< 
   typename K, 
   typename V, 
   class KTraits = CElementTraits< K >, 
   class VTraits = CElementTraits< V > 
> 
class CAtlMap

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

Typedef pubblici

Nome

Descrizione

CAtlMap::KINARGTYPE

Tipo utilizzato quando una chiave passata come argomento di input

CAtlMap::KOUTARGTYPE

Tipo utilizzato quando una chiave viene restituita come argomento di output.

CAtlMap::VINARGTYPE

Tipo utilizzato quando un valore viene passato come argomento di input.

CAtlMap::VOUTARGTYPE

Tipo utilizzato quando un valore viene passato come argomento di output.

Classi pubbliche

Nome

Descrizione

CAtlMap::CPair Class

Classe contenente gli elementi di valore e la chiave.

Membri dati di CPair

Nome

Descrizione

CAtlMap::CPair::m_key

Il membro dati che archivia l'elemento chiave.

CAtlMap::CPair::m_value

Il membro dati che archivia l'elemento di valore.

Costruttori pubblici

Nome

Descrizione

CAtlMap::CAtlMap

Costruttore.

CAtlMap::~CAtlMap

Il distruttore.

Metodi pubblici

Nome

Descrizione

CAtlMap::AssertValid

Chiamare questo metodo per generare un'eccezione ASSERT se CAtlMap non è valido.

CAtlMap::DisableAutoRehash

Chiamare questo metodo per disabilitare rimaneggiare automatico dell'oggetto CAtlMap.

CAtlMap::EnableAutoRehash

Chiamare questo metodo per abilitare rimaneggiare automatico dell'oggetto CAtlMap.

CAtlMap::GetAt

Chiamare questo metodo per restituire l'elemento nel percorso specificato nel mapping.

CAtlMap::GetCount

Chiamare questo metodo per recuperare il numero di elementi nella mappa.

CAtlMap::GetHashTableSize

Chiamare questo metodo per determinare il numero di cestini nell'hash di mapping - tabella.

CAtlMap::GetKeyAt

Chiamare questo metodo per recuperare la chiave archiviata nel percorso specificato nell'oggetto CAtlMap.

CAtlMap::GetNext

Chiamare questo metodo per ottenere un puntatore alla coppia dell'elemento nell'oggetto CAtlMap.

CAtlMap::GetNextAssoc

Ottiene l'elemento seguente per l'iterazione.

CAtlMap::GetNextKey

Chiamare questo metodo per recuperare la chiave dall'oggetto CAtlMap.

CAtlMap::GetNextValue

Chiamare questo metodo per ottenere il valore dall'oggetto CAtlMap.

CAtlMap::GetStartPosition

Chiamare questo metodo per avviare un'iterazione di mapping.

CAtlMap::GetValueAt

Chiamare questo metodo per recuperare il valore archiviato in una posizione specificata nell'oggetto CAtlMap.

CAtlMap::InitHashTable

Chiamare questo metodo per inizializzare la tabella hash.

CAtlMap::IsEmpty

Chiamare questo metodo per verificare un oggetto mappa vuota.

CAtlMap::Lookup

Chiamare questo metodo per trovare le chiavi o valori nell'oggetto CAtlMap.

CAtlMap::Rehash

Chiamare questo metodo per rimaneggiare l'oggetto CAtlMap.

CAtlMap::RemoveAll

Chiamare questo metodo per rimuovere tutti gli elementi dall'oggetto CAtlMap.

CAtlMap::RemoveAtPos

Chiamare questo metodo per eliminare l'elemento nella posizione specificata nell'oggetto CAtlMap.

CAtlMap::RemoveKey

Chiamare questo metodo per eliminare un elemento dall'oggetto CAtlMap, in base alla chiave.

CAtlMap::SetAt

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

CAtlMap::SetOptimalLoad

Chiamare questo metodo per impostare il caricamento ottimale dell'oggetto CAtlMap.

CAtlMap::SetValueAt

Chiamare questo metodo per modificare il valore archiviato in una posizione specificata nell'oggetto CAtlMap.

Operatori pubblici

Nome

Descrizione

CAtlMap::operator []

Sostituisce o aggiunge un nuovo elemento a CAtlMap.

Note

CAtlMap fornisce il supporto per una matrice di mapping di qualsiasi tipo specificato, mantenimento una matrice non ordinata degli elementi principali e i relativi valori collegati. Gli elementi (consistendo di una chiave e un valore) vengono memorizzate mediante un algoritmo hash, consentendo grandi quantità di dati da archiviare e recuperare in modo efficiente.

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

Un'alternativa a CAtlMap viene fornita dalla classe CRBMap. CRBMap inoltre memorizza le coppie chiave/valore, ma le caratteristiche di prestazione diverse di mostre. Il tempo impiegato per inserire un elemento, per cercare una chiave, o per eliminare una chiave da un oggetto CRBMap è di ordine log(n), dove n è il numero di elementi. Per CAtlMap, tutte queste operazioni in genere richiedono tempo costante, sebbene gli scenari peggiori possono essere di ordine N. Pertanto, in un caso tipico, CAtlMap è più veloce.

Un'altra differenza tra CRBMap e CAtlMap diventa evidente quando si scorre gli elementi archiviati. In CRBMap, gli elementi vengono visualizzati in un ordinamento. In CAtlMap, gli elementi non vengono ordinati e nessun ordine può essere dedotto.

Quando un numero limitato di elementi devono essere memorizzati, considerare l'utilizzo della classe CSimpleMap anziché.

Per ulteriori informazioni, vedere Classi di raccolte ATL.

Requisiti

Header: atlcoll.h

Vedere anche

Concetti

Esempio di marquee

L'esempio UpdatePV

Altre risorse

ATL Class Overview