Libreria C ++ - <map>

Introduzione alla mappa

La mappa è una struttura dati simile a un dizionario. È una sequenza di coppie (chiave, valore), in cui un solo valore è associato a ciascuna chiave univoca. Viene spesso definito array associativo .

Nella mappa i valori chiave generalmente utilizzati per ordinare gli elementi. Per i dati della mappa, il tipo di chiave e valore può differire ed è rappresentato come

typedef pair<const Key, T> value_type;

Le mappe vengono in genere implementate come albero di ricerca binario.

Sono valide anche le mappe a dimensione zero. In tal caso map.begin () e map.end () punta alla stessa posizione.

Definizione

Di seguito è riportata la definizione di std :: map dal file di intestazione <map>

template < class Key,
           class T,
           class Compare = less<Key>,
           class Alloc = allocator<pair<const Key,T> >
           > class map;

Parametri

  • Key - Tipo di chiave.

  • T - Tipo di valori mappati.

  • Compare - Un predicato binario che accetta due chiavi di elemento come argomenti e restituisce un valore bool.

  • Alloc - Tipo di oggetto allocatore.

T può essere sostituito da qualsiasi altro tipo di dati incluso il tipo definito dall'utente.

Tipi di membri

I seguenti tipi di membro possono essere usati come parametri o tipo restituito dalle funzioni membro.

Sr.No. Tipi di membri Definizione
1 tipo_chiave Chiave (primo parametro del modello)
2 mapped_type T (Secondo parametro del modello)
3 key_compare Confronta (Terzo parametro del modello)
4 allocator_type Alloc (quarto parametro del modello)
5 value_type coppia <const key_type, mapped_type>
6 value_compare Classe di funzione annidata per confrontare gli elementi
7 riferimento allocator_type :: riferimento
8 const_reference allocator_type :: const_reference
9 puntatore allocator_type :: pointer
10 const_pointer allocator_type :: const_pointer
11 iteratore iteratore bidirezionale per value_type
12 const_iterator iteratore bidirezionale per const value_type
13 reverse_iterator iteratore inverso
14 const_reverse_iterator iteratore inverso costante
15 differenza_tipo ptrdiff_t
16 size_type size_t

Funzioni da <map>

Di seguito è riportato un elenco di tutti i metodi dall'intestazione <map>.

Costruttori

Sr.No. Metodo e descrizione
1 map :: map costruttore predefinito

Costruisce una mappa vuota con zero elementi.

2 map :: map range costruttore

Costruisce una mappa con il maggior numero di elementi come nella gamma di prima per ultima .

3 map :: map copy costruttore

Costruisce una mappa con copia di ogni elemento presente nella mappa esistente.

4 map :: map move costruttore

Costruisce una mappa con i contenuti di altri utilizzando la semantica di spostamento.

5 map :: map costruttore dell'elenco di inizializzatori

Costruisce una mappa dall'elenco di inizializzazione.

Distruttore

Sr.No. Metodo e descrizione
1 map :: ~ map

Distrugge l'oggetto mappa deallocando la sua memoria.

Funzioni dei membri

Sr.No. Metodo e descrizione
1 mappa :: at

Restituisce un riferimento al valore mappato associato alla chiave k .

2 mappa :: inizio

Restituisce un iteratore che fa riferimento al primo elemento della mappa.

3 map :: cbegin

Restituisce un iteratore costante che fa riferimento al primo elemento della mappa.

4 mappa :: cend

Restituisce un iteratore costante che punta all'elemento oltre la fine della mappa.

5 map :: clear

Distrugge la mappa rimuovendo tutti gli elementi e imposta la dimensione della mappa su zero.

6 map :: count

Restituisce il numero di valori mappati associati alla chiave k .

7 map :: crbegin

Restituisce un iteratore inverso costante che punta all'ultimo elemento del contenitore i.

8 mappa :: crend

Restituisce un iteratore inverso costante che punta all'elemento teorico che precede il primo elemento nel contenitore i.

9 mappa :: emplace

Estende il contenitore inserendo un nuovo elemento.

10 map :: emplace_hint versione suggerimento

Inserisce un nuovo elemento in una mappa utilizzando il suggerimento come posizione per l'elemento.

11 mappa :: vuoto

Verifica se la mappa è vuota o meno.

12 mappa :: fine

Restituisce un iteratore che punta all'elemento oltre la fine nella mappa.

13 map :: intervallo_equal

Restituisce un intervallo di elementi che corrisponde a una chiave specifica.

14 mappa :: cancella la versione della posizione

Rimuove un singolo elemento della mappa dalla posizione .

15 mappa :: cancella la versione della posizione

Rimuove un singolo elemento della mappa dalla posizione .

16 map :: tasto di cancellazione

Rimuove il valore mappato associato alla chiave k .

17 mappa :: cancella la versione dell'intervallo

Rimuove l'intervallo di elementi dalla mappa.

18 mappa :: cancella la versione dell'intervallo

Rimuove l'intervallo di elementi dalla mappa.

19 mappa :: trova

Trova un elemento associato alla chiave k .

20 map :: get_allocator

Restituisce un allocatore associato alla mappa.

21 map :: inserisce un singolo elemento

Estende il contenitore inserendo un nuovo elemento nella mappa.

22 map :: inserire la versione del suggerimento

Estende il contenitore inserendo un nuovo elemento nella mappa.

23 map :: inserire la versione della gamma

Estende il contenitore inserendo nuovi elementi nella mappa.

24 mappa :: inserisce la versione del suggerimento di spostamento

Estende la mappa inserendo un nuovo elemento.

25 map :: inserire la versione dell'elenco di inizializzatori

Estende la mappa inserendo un nuovo elemento dall'elenco degli inizializzatori.

26 map :: key_comp

Restituisce un oggetto funzione che confronta le chiavi, che è una copia dell'argomento costruttore di questo contenitore comp .

27 map :: lower_bound

Restituisce un iteratore che punta al primo elemento che non è inferiore alla chiave k .

28 map :: max_size

Restituisce il numero massimo di elementi che può essere tenuto dalla mappa.

29 map :: operator = copia versione

Assegna nuovi contenuti alla mappa sostituendo quelli vecchi e, se necessario, modifica le dimensioni.

30 map :: operator = sposta versione

Sposta il contenuto di una mappa in un'altra e modifica le dimensioni se necessario.

31 map :: operator = versione elenco inizializzatori

Copia gli elementi dall'elenco degli inizializzatori alla mappa.

32 map :: operator [] copia la versione

Se la chiave k corrisponde a un elemento nel contenitore, il metodo restituisce un riferimento all'elemento.

33 map :: operator [] sposta versione

Se la chiave k corrisponde a un elemento nel contenitore, il metodo restituisce un riferimento all'elemento.

34 map :: rbegin

Restituisce un iteratore inverso che punta all'ultimo elemento della mappa.

35 mappa :: rend

Restituisce un iteratore inverso che punta all'estremità inversa della mappa i.

36 mappa :: dimensioni

Restituisce il numero di elementi presenti nella mappa.

37 map :: swap

Scambia il contenuto della mappa con il contenuto della mappa x.

38 map :: upper_bound

Restituisce un iteratore che punta al primo elemento che è maggiore della chiave k .

39 map :: value_comp

Restituisce un oggetto funzione che confronta oggetti di tipo std :: map :: value_type .

Funzioni di sovraccarico non membro

Sr.No. Metodo e descrizione
1 operatore ==

Verifica se due mappe sono uguali o meno.

2 operatore! =

Verifica se due mappe sono uguali o meno.

3 operatore <

Verifica se la prima mappa è minore dell'altra oppure no.

4 map :: operator <=

Verifica se la prima mappa è minore o uguale ad altre oppure no.

5 operatore>

Verifica se la prima mappa è maggiore dell'altra oppure no.

6 operatore> =

Verifica se la prima mappa è maggiore o uguale ad altre oppure no.

7 scambiare()

Scambia il contenuto della mappa con il contenuto della mappa x.

Introduzione alla multimappa

Multimap è una struttura dati simile a un dizionario. È una sequenza di coppie (chiave, valore) , in cui più valori possono essere associati a chiavi equivalenti. Viene spesso definito array associativo .

Nei valori chiave multimappa generalmente utilizzati per ordinare gli elementi. Per il tipo di dati multimap di chiave e valore può differire e viene rappresentato come

typedef pair<const Key, T> value_type;

Le mappe multiple vengono in genere implementate come albero di ricerca binario.

Sono valide anche le multimappa di dimensione zero. In quel caso multimap.begin () e multimap.end () punta alla stessa posizione.

Definizione

Di seguito è riportata la definizione di std :: multimap dal file di intestazione <multimap>

template < class Key,
           class T,
           class Compare = less<Key>,
           class Alloc = allocator<pair<const Key,T> >
           > class multimap;

Parametri

  • Key - Tipo di chiave.

  • T - Tipo di valori mappati.

  • Compare - Un predicato binario che accetta due chiavi di elemento come argomenti e restituisce un valore bool.

  • Alloc - Tipo di oggetto allocatore.

  • T può essere sostituito da qualsiasi altro tipo di dati incluso il tipo definito dall'utente.

Tipi di membri

I seguenti tipi di membro possono essere usati come parametri o tipo restituito dalle funzioni membro.

Sr.No. Tipi di membri Definizione
1 tipo_chiave Chiave (primo parametro del modello)
2 mapped_type T (Secondo parametro del modello)
3 key_compare Confronta (Terzo parametro del modello)
4 allocator_type Alloc (quarto parametro del modello)
5 value_type coppia <const key_type, mapped_type>
6 value_compare Classe di funzione annidata per confrontare gli elementi
7 riferimento allocator_type :: riferimento
8 const_reference allocator_type :: const_reference
9 puntatore allocator_type :: pointer
10 const_pointer allocator_type :: const_pointer
11 iteratore iteratore bidirezionale per value_type
12 const_iterator iteratore bidirezionale per const value_type
13 reverse_iterator iteratore inverso
14 const_reverse_iterator iteratore inverso costante
15 differenza_tipo ptrdiff_t
16 size_type size_t

Funzioni da <multimap>

Di seguito è riportato un elenco di tutti i metodi dall'intestazione <multimap>.

Costruttori

Sr.No. Metodo e descrizione
1 multimap :: costruttore predefinito multimap

Costruisce una mappa multipla vuota con zero elementi.

2 multimap :: costruttore di intervalli multimap

Costruisce un multimap con maggior numero di elementi nella gamma di prima per ultimo .

3 multimap :: costruttore di copie multimap

Costruisce una multimappa con copia di ogni elemento presente nella multimappa esistente.

4 multimap :: costruttore di mosse multimap

Costruisce una mappa multipla con i contenuti di altri utilizzando la semantica di spostamento.

5 multimap :: costruttore dell'elenco di inizializzatori multimap

Costruisce una mappa multipla dall'elenco di inizializzazione.

Distruttore

Sr.No. Metodo e descrizione
1 multimap :: ~ multimap

Distrugge l'oggetto multimappa deallocando la sua memoria.

Funzioni dei membri

Sr.No. Metodo e descrizione
1 multimap :: inizio

Restituisce un iteratore che fa riferimento al primo elemento della multimappa.

2 multimap :: cbegin

Restituisce un iteratore costante che fa riferimento al primo elemento della multimappa.

3 multimap :: cend

Restituisce un iteratore costante che punta all'elemento oltre la fine della mappa multipla.

4 multimap :: clear

Distrugge la multimappa rimuovendo tutti gli elementi e imposta la dimensione della multimappa su zero.

5 multimap :: count

Restituisce il numero di valori multimappati associati alla chiave k .

6 multimap :: crbegin

Restituisce un iteratore inverso costante che punta all'ultimo elemento del contenitore.

7 multimap :: crend

Restituisce un iteratore inverso costante che punta all'elemento teorico che precede il primo elemento nel contenitore.

8 multimap :: emplace

Estende il contenitore inserendo un nuovo elemento.

9 multimap :: emplace_hint versione suggerimento

Inserisce un nuovo elemento in una mappa multipla utilizzando il suggerimento come posizione per l'elemento.

10 multimap :: vuoto

Verifica se la multimappa è vuota o meno.

11 multimap :: end

Restituisce un iteratore che punta all'elemento oltre la fine nella mappa multipla.

12 multimap :: intervallo_equal

Restituisce un intervallo di elementi che corrisponde a una chiave specifica.

13 multimap :: cancella la versione della posizione

Rimuove un singolo elemento della multimappa dalla posizione .

14 multimap :: cancella la versione della posizione

Rimuove un singolo elemento della multimappa dalla posizione .

15 multimap :: tasto di cancellazione

Rimuove il valore mappato associato alla chiave k .

16 multimap :: cancella la versione della gamma

Rimuove l'intervallo di elementi dalla mappa multipla.

17 multimap :: cancella la versione della gamma

Rimuove l'intervallo di elementi dalla mappa multipla.

18 multimap :: trova

Trova un elemento associato alla chiave k .

19 multimap :: get_allocator

Restituisce un allocatore associato a multimappa.

20 multimap :: inserisce un singolo elemento

Estende il contenitore inserendo un nuovo elemento in multimappa.

21 multimap :: inserire la versione del suggerimento

Estende il contenitore inserendo un nuovo elemento in multimappa.

22 multimap :: inserire la versione della gamma

Estende il container inserendo nuovi elementi nella multimappa.

23 multimap :: inserisce la versione del suggerimento di spostamento

Estende la multimappa inserendo un nuovo elemento.

24 multimap :: inserire la versione dell'elenco di inizializzatori

Estende la multimappa inserendo un nuovo elemento dall'elenco degli inizializzatori.

25 multimap :: key_comp

Restituisce un oggetto funzione che confronta le chiavi, che è una copia dell'argomento costruttore di questo contenitore comp .

26 multimap :: lower_bound

Restituisce un iteratore che punta al primo elemento che non è inferiore alla chiave k .

27 multimap :: max_size

Restituisce il numero massimo di elementi che può essere trattenuto dalla multimappa.

28 multimap :: operator = copia versione

Assegna nuovi contenuti alla multimappa sostituendo quelli vecchi e modifica le dimensioni se necessario.

29 multimap :: operator = sposta versione

Sposta il contenuto di una multimappa in un'altra e modifica le dimensioni se necessario.

30 multimap :: operator = versione elenco inizializzatori

Copia gli elementi dall'elenco degli inizializzatori alla multimappa.

31 multimap :: rbegin

Restituisce un iteratore inverso che punta all'ultimo elemento della mappa multipla.

32 multimap :: rend

Restituisce un iteratore inverso che punta all'estremità inversa della mappa multipla.

33 multimap :: size

Restituisce il numero di elementi presenti nella multimappa.

34 multimap :: swap

Scambia il contenuto di multimap con il contenuto di multimap x.

35 multimap :: upper_bound

Restituisce un iteratore che punta al primo elemento che è maggiore della chiave k .

36 multimap :: value_comp

Restituisce un oggetto funzione che confronta oggetti di tipo std :: multimap :: value_type .

Funzioni di sovraccarico non membro

Sr.No. Metodo e descrizione
1 operatore ==

Verifica se due multimap sono uguali o meno.

2 operatore! =

Verifica se due multimap sono uguali o meno.

3 operatore <

Verifica se la prima mappa multipla è minore di altre o meno.

4 multimap :: operator <=

Verifica se la prima mappa multipla è minore o uguale ad altre oppure no.

5 operatore>

Verifica se la prima mappa multipla è maggiore di altre o meno.

6 operatore> =

Verifica se la prima mappa multipla è maggiore o uguale ad altre oppure no.

7 scambiare()

Scambia il contenuto di multimap con il contenuto di multimap x.