Bibliothèque C ++ - <map>

Introduction à la carte

La carte est une structure de données semblable à un dictionnaire. Il s'agit d'une séquence de paires (clé, valeur), où une seule valeur est associée à chaque clé unique. Il est souvent appelé tableau associatif .

Dans la carte, les valeurs de clé sont généralement utilisées pour trier les éléments. Pour les données cartographiques, le type de clé et de valeur peut différer et il est représenté par

typedef pair<const Key, T> value_type;

Les cartes sont généralement implémentées en tant qu'arbre de recherche binaire.

Les cartes de taille zéro sont également valides. Dans ce cas, map.begin () et map.end () pointe vers le même emplacement.

Définition

Ci-dessous la définition de std :: map à partir du fichier d'en-tête <map>

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

Paramètres

  • Key - Type de clé.

  • T - Type des valeurs mappées.

  • Compare - Un prédicat binaire qui prend deux clés d'élément comme arguments et renvoie un booléen.

  • Alloc - Type de l'objet allocateur.

T peut être remplacé par tout autre type de données, y compris le type défini par l'utilisateur.

Types de membres

Les types de membres suivants peuvent être utilisés comme paramètres ou comme type de retour par les fonctions membres.

N ° Sr. Types de membres Définition
1 type de clé Clé (premier paramètre du modèle)
2 mapped_type T (deuxième paramètre du modèle)
3 key_compare Comparer (troisième paramètre du modèle)
4 allocator_type Alloc (quatrième paramètre du modèle)
5 type de valeur paire <const key_type, mapped_type>
6 value_compare Classe de fonction imbriquée pour comparer des éléments
sept référence allocator_type :: référence
8 const_reference allocator_type :: const_reference
9 aiguille allocator_type :: pointer
dix const_pointer allocator_type :: const_pointer
11 itérateur itérateur bidirectionnel vers value_type
12 const_iterator itérateur bidirectionnel vers const value_type
13 reverse_iterator itérateur inverse
14 const_reverse_iterator itérateur inverse constant
15 difference_type ptrdiff_t
16 type de taille size_t

Fonctions de <map>

Vous trouverez ci-dessous la liste de toutes les méthodes de l'en-tête <map>.

Constructeurs

N ° Sr. Méthode et description
1 map :: map constructeur par défaut

Construit une carte vide avec zéro élément.

2 map :: constructeur de plage de carte

Construit une carte avec autant d'éléments que dans la plage du premier au dernier .

3 map :: constructeur de copie de carte

Construit une carte avec une copie de chaque élément présent dans la carte existante.

4 map :: map move constructeur

Construit une carte avec le contenu d'autres en utilisant la sémantique de déplacement.

5 map :: map constructeur de liste d'initialisation

Construit une carte à partir de la liste d'initialisation.

Destructeur

N ° Sr. Méthode et description
1 carte :: ~ carte

Détruit l'objet de la carte en désallouant sa mémoire.

Fonctions des membres

N ° Sr. Méthode et description
1 carte :: à

Renvoie une référence à la valeur mappée associée à la clé k .

2 carte :: commencer

Renvoie un itérateur qui fait référence au premier élément de la carte.

3 carte :: cbegin

Renvoie un itérateur constant qui fait référence au premier élément de la carte.

4 map :: cend

Renvoie un itérateur constant qui pointe vers l' élément au-delà de la fin de la carte.

5 carte :: effacer

Détruit la carte en supprimant tous les éléments et définit la taille de la carte à zéro.

6 map :: count

Renvoie le nombre de valeurs mappées associées à la clé k .

sept carte :: crbegin

Renvoie un itérateur inverse constant qui pointe vers le dernier élément du conteneur i.

8 carte :: crend

Renvoie un itérateur inverse constant qui pointe vers l'élément théorique précédant le premier élément du conteneur i.

9 carte :: emplace

Étend le conteneur en insérant un nouvel élément.

dix map :: version de l'indice emplace_hint

Insère un nouvel élément dans une carte en utilisant un indice comme position pour l'élément.

11 carte :: vide

Teste si la carte est vide ou non.

12 map :: end

Renvoie un itérateur qui pointe vers l' élément au -delà de la fin de la carte.

13 map :: equal_range

Renvoie une plage d'éléments correspondant à une clé spécifique.

14 map :: effacer la version de position

Supprime un seul élément de la carte de la position .

15 map :: effacer la version de position

Supprime un seul élément de la carte de la position .

16 map :: effacer la clé

Supprime la valeur mappée associée à la clé k .

17 map :: effacer la version de la plage

Supprime la plage d'élément de la carte.

18 map :: effacer la version de la plage

Supprime la plage d'élément de la carte.

19 carte :: trouver

Recherche un élément associé à la clé k .

20 map :: get_allocator

Renvoie un allocateur associé à la carte.

21 map :: insérer un élément unique

Étend le conteneur en insérant un nouvel élément dans la carte.

22 map :: insérer la version de l'indice

Étend le conteneur en insérant un nouvel élément dans la carte.

23 map :: insérer la version de la plage

Étend le conteneur en insérant de nouveaux éléments dans la carte.

24 map :: insérer un indice de déplacement verstion

Étend la carte en insérant un nouvel élément.

25 map :: insérer la version de la liste d'initialisation

Étend la carte en insérant un nouvel élément de la liste d'initialisation.

26 map :: key_comp

Renvoie un objet fonction qui compare les clés, qui est une copie de l'argument constructeur de ce conteneur comp .

27 map :: lower_bound

Renvoie un itérateur pointant vers le premier élément qui n'est pas inférieur à la clé k .

28 map :: max_size

Renvoie le nombre maximum d'éléments pouvant être contenus dans la carte.

29 map :: operator = copie de la version

Attribuez de nouveaux contenus à la carte en remplaçant les anciens et modifiez la taille si nécessaire.

30 map :: operator = déplacer la version

Déplacez le contenu d'une carte dans une autre et modifiez la taille si nécessaire.

31 map :: operator = version de la liste d'initialisation

Copiez les éléments de la liste d'initialisation sur la carte.

32 map :: operator [] copie la version

Si la clé k correspond à un élément du conteneur, alors la méthode renvoie une référence à l'élément.

33 map :: operator [] déplacer la version

Si la clé k correspond à un élément du conteneur, alors la méthode renvoie une référence à l'élément.

34 carte :: rbegin

Renvoie un itérateur inversé qui pointe vers le dernier élément de la carte.

35 map :: rend

Renvoie un itérateur inverse qui pointe vers l'extrémité inverse de la carte i.

36 taille de la carte

Renvoie le nombre d'éléments présents dans la carte.

37 map :: swap

Échange le contenu de la carte avec le contenu de la carte x.

38 map :: upper_bound

Renvoie un itérateur pointant vers le premier élément qui est supérieur à la clé k .

39 map :: value_comp

Renvoie un objet fonction qui compare les objets de type std :: map :: value_type .

Fonctions surchargées non membres

N ° Sr. Méthode et description
1 opérateur ==

Teste si deux cartes sont égales ou non.

2 opérateur! =

Teste si deux cartes sont égales ou non.

3 opérateur <

Teste si la première carte est inférieure à autre ou non.

4 map :: opérateur <=

Teste si la première carte est inférieure ou égale à autre ou non.

5 opérateur>

Teste si la première carte est supérieure ou non à autre.

6 opérateur> =

Teste si la première carte est supérieure ou égale à autre ou non.

sept échanger()

Échange le contenu de la carte avec le contenu de la carte x.

Introduction au multimap

Multimap est une structure de données semblable à un dictionnaire. Il s'agit d'une séquence de paires (clé, valeur) , où plusieurs valeurs peuvent être associées à des clés équivalentes. Il est souvent appelé tableau associatif .

En multimap, les valeurs de clé sont généralement utilisées pour trier les éléments. Pour les données multimap, le type de clé et de valeur peut différer et il est représenté par

typedef pair<const Key, T> value_type;

Les multimaps sont généralement implémentées en tant qu'arbre de recherche binaire.

Les multimaps de taille zéro sont également valides. Dans ce cas, multimap.begin () et multimap.end () pointe vers le même emplacement.

Définition

Vous trouverez ci-dessous la définition de std :: multimap à partir du fichier d'en-tête <multimap>

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

Paramètres

  • Key - Type de clé.

  • T - Type des valeurs mappées.

  • Compare - Un prédicat binaire qui prend deux clés d'élément comme arguments et renvoie un booléen.

  • Alloc - Type de l'objet allocateur.

  • T peut être remplacé par tout autre type de données, y compris le type défini par l'utilisateur.

Types de membres

Les types de membres suivants peuvent être utilisés comme paramètres ou comme type de retour par les fonctions membres.

N ° Sr. Types de membres Définition
1 type de clé Clé (premier paramètre du modèle)
2 mapped_type T (deuxième paramètre du modèle)
3 key_compare Comparer (troisième paramètre du modèle)
4 allocator_type Alloc (quatrième paramètre du modèle)
5 type de valeur paire <const key_type, mapped_type>
6 value_compare Classe de fonction imbriquée pour comparer des éléments
sept référence allocator_type :: référence
8 const_reference allocator_type :: const_reference
9 aiguille allocator_type :: pointer
dix const_pointer allocator_type :: const_pointer
11 itérateur itérateur bidirectionnel vers value_type
12 const_iterator itérateur bidirectionnel vers const value_type
13 reverse_iterator itérateur inverse
14 const_reverse_iterator itérateur inverse constant
15 difference_type ptrdiff_t
16 type de taille size_t

Fonctions de <multimap>

Vous trouverez ci-dessous la liste de toutes les méthodes de l'en-tête <multimap>.

Constructeurs

N ° Sr. Méthode et description
1 multimap :: constructeur par défaut multimap

Construit une multi-carte vide avec zéro élément.

2 multimap :: constructeur de gamme multimap

Construit une multi-carte avec autant d'éléments que dans la plage du premier au dernier .

3 multimap :: constructeur de copie multimap

Construit une multi-carte avec une copie de chaque élément présent dans la multi-carte existante.

4 multimap :: constructeur de déplacement multimap

Construit une multi-carte avec le contenu d'autres en utilisant la sémantique de déplacement.

5 constructeur de liste d'initialiseur multimap :: multimap

Construit une multi-carte à partir de la liste d'initialisation.

Destructeur

N ° Sr. Méthode et description
1 multimap :: ~ multimap

Détruit l'objet multi-mappe en désallouant sa mémoire.

Fonctions des membres

N ° Sr. Méthode et description
1 multimap :: commencer

Renvoie un itérateur qui fait référence au premier élément de la multi-carte.

2 multimap :: cbegin

Renvoie un itérateur constant qui fait référence au premier élément de la multi-carte.

3 multimap :: cend

Renvoie un itérateur constant qui pointe vers l' élément au-delà de la fin du multimap.

4 multimap :: effacer

Détruit la multi-carte en supprimant tous les éléments et définit la taille de la multi-carte à zéro.

5 multimap :: count

Renvoie le nombre de valeurs multimappées associées à la clé k .

6 multimap :: crbegin

Renvoie un itérateur inverse constant qui pointe vers le dernier élément du conteneur.

sept multimap :: crend

Renvoie un itérateur inverse constant qui pointe vers l'élément théorique précédant le premier élément du conteneur.

8 multimap :: emplace

Étend le conteneur en insérant un nouvel élément.

9 multimap :: version de l'indice emplace_hint

Insère un nouvel élément dans une multi-carte en utilisant un indice comme position pour l'élément.

dix multimap :: vide

Teste si multimap est vide ou non.

11 multimap :: fin

Renvoie un itérateur qui pointe vers l' élément au -delà de la fin dans la multi-carte.

12 multimap :: equal_range

Renvoie une plage d'éléments correspondant à une clé spécifique.

13 multimap :: version d' effacement de position

Supprime un seul élément de la multi-carte de la position .

14 multimap :: version d' effacement de position

Supprime un seul élément de la multi-carte de la position .

15 multimap :: effacer la clé

Supprime la valeur mappée associée à la clé k .

16 multimap :: version de plage d' effacement

Supprime la plage d'élément du multimap.

17 multimap :: version de plage d' effacement

Supprime la plage d'élément du multimap.

18 multimap :: trouver

Recherche un élément associé à la clé k .

19 multimap :: get_allocator

Renvoie un allocateur associé à multimap.

20 multimap :: insérer un seul élément

Étend le conteneur en insérant un nouvel élément dans multimap.

21 multimap :: insérer la version de l'indice

Étend le conteneur en insérant un nouvel élément dans multimap.

22 multimap :: version de gamme d' insert

Étend le conteneur en insérant de nouveaux éléments dans la multi-carte.

23 multimap :: insert move astuce verstion

Étend la multi-carte en insérant un nouvel élément.

24 multimap :: insérer la version de la liste d'initialisation

Étend la multi-carte en insérant un nouvel élément de la liste d'initialisation.

25 multimap :: key_comp

Renvoie un objet fonction qui compare les clés, qui est une copie de l'argument constructeur de ce conteneur comp .

26 multimap :: borne_ inférieure

Renvoie un itérateur pointant vers le premier élément qui n'est pas inférieur à la clé k .

27 multimap :: taille_max

Renvoie le nombre maximum d'éléments pouvant être conservés par multimap.

28 multimap :: operator = copie de la version

Attribuez de nouveaux contenus à la multi-carte en remplaçant les anciens et modifiez la taille si nécessaire.

29 multimap :: operator = déplacer la version

Déplacez le contenu d'une multi-carte dans une autre et modifiez la taille si nécessaire.

30 multimap :: operator = version de la liste d'initialisation

Copiez les éléments de la liste d'initialisation vers multimap.

31 multimap :: rbegin

Renvoie un itérateur inverse qui pointe vers le dernier élément de la multi-carte.

32 multimap :: rend

Renvoie un itérateur inverse qui pointe vers l'extrémité inverse de la multi-carte.

33 multimap :: taille

Renvoie le nombre d'éléments présents dans le multimap.

34 multimap :: swap

Échange le contenu de multimap avec le contenu de multimap x.

35 multimap :: borne_ supérieure

Renvoie un itérateur pointant vers le premier élément qui est supérieur à la clé k .

36 multimap :: value_comp

Renvoie un objet fonction qui compare les objets de type std :: multimap :: value_type .

Fonctions surchargées non membres

N ° Sr. Méthode et description
1 opérateur ==

Teste si deux multimaps sont égales ou non.

2 opérateur! =

Teste si deux multimaps sont égales ou non.

3 opérateur <

Teste si le premier multimap est inférieur ou non à autre.

4 multimap :: opérateur <=

Teste si le premier multimap est inférieur ou égal à autre ou non.

5 opérateur>

Teste si le premier multimap est supérieur ou non à autre.

6 opérateur> =

Teste si le premier multimap est supérieur ou égal à autre ou non.

sept échanger()

Échange le contenu de multimap avec le contenu de multimap x.