Classe di CAtlMap
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 |
---|---|
Tipo utilizzato quando una chiave passata come argomento di input |
|
Tipo utilizzato quando una chiave viene restituita come argomento di output. |
|
Tipo utilizzato quando un valore viene passato come argomento di input. |
|
Tipo utilizzato quando un valore viene passato come argomento di output. |
Classi pubbliche
Nome |
Descrizione |
---|---|
Classe contenente gli elementi di valore e la chiave. |
Membri dati di CPair
Nome |
Descrizione |
---|---|
Il membro dati che archivia l'elemento chiave. |
|
Il membro dati che archivia l'elemento di valore. |
Costruttori pubblici
Nome |
Descrizione |
---|---|
Costruttore. |
|
Il distruttore. |
Metodi pubblici
Nome |
Descrizione |
---|---|
Chiamare questo metodo per generare un'eccezione ASSERT se CAtlMap non è valido. |
|
Chiamare questo metodo per disabilitare rimaneggiare automatico dell'oggetto CAtlMap. |
|
Chiamare questo metodo per abilitare rimaneggiare automatico dell'oggetto CAtlMap. |
|
Chiamare questo metodo per restituire l'elemento nel percorso specificato nel mapping. |
|
Chiamare questo metodo per recuperare il numero di elementi nella mappa. |
|
Chiamare questo metodo per determinare il numero di cestini nell'hash di mapping - tabella. |
|
Chiamare questo metodo per recuperare la chiave archiviata nel percorso specificato nell'oggetto CAtlMap. |
|
Chiamare questo metodo per ottenere un puntatore alla coppia dell'elemento nell'oggetto CAtlMap. |
|
Ottiene l'elemento seguente per l'iterazione. |
|
Chiamare questo metodo per recuperare la chiave dall'oggetto CAtlMap. |
|
Chiamare questo metodo per ottenere il valore dall'oggetto CAtlMap. |
|
Chiamare questo metodo per avviare un'iterazione di mapping. |
|
Chiamare questo metodo per recuperare il valore archiviato in una posizione specificata nell'oggetto CAtlMap. |
|
Chiamare questo metodo per inizializzare la tabella hash. |
|
Chiamare questo metodo per verificare un oggetto mappa vuota. |
|
Chiamare questo metodo per trovare le chiavi o valori nell'oggetto CAtlMap. |
|
Chiamare questo metodo per rimaneggiare l'oggetto CAtlMap. |
|
Chiamare questo metodo per rimuovere tutti gli elementi dall'oggetto CAtlMap. |
|
Chiamare questo metodo per eliminare l'elemento nella posizione specificata nell'oggetto CAtlMap. |
|
Chiamare questo metodo per eliminare un elemento dall'oggetto CAtlMap, in base alla chiave. |
|
Chiamare questo metodo per inserire una coppia dell'elemento nella mappa. |
|
Chiamare questo metodo per impostare il caricamento ottimale dell'oggetto CAtlMap. |
|
Chiamare questo metodo per modificare il valore archiviato in una posizione specificata nell'oggetto CAtlMap. |
Operatori pubblici
Nome |
Descrizione |
---|---|
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