Bibliothèque C ++ - <forward_list>

introduction

forward_list est un conteneur de séquence couramment utilisé. Le conteneur est un objet qui contient des données du même type. Le conteneur forward_list est implémenté comme une seule liste chaînée, il fournit donc un accès séquentiel unidirectionnel à ses données.

forward_list ne fournit pas d'accès aléatoire rapide, il ne prend en charge que l'accès séquentiel dans une seule direction. forward_list permet une opération d'insertion et de suppression n'importe où dans une séquence en temps constant.

Les éléments de forward_list peuvent être dispersés dans différents blocs de mémoire. Container stocke les informations nécessaires pour permettre un accès séquentiel à ses données. forward_lists peut réduire ou s'étendre selon les besoins des deux côtés au moment de l'exécution. Le besoin de stockage est rempli automatiquement par l'allocateur interne.

Les forward_lists de taille zéro sont également valides. Dans ce cas, forward_list.begin () et forward_list.end () pointe vers le même emplacement. Mais le comportement de l'appel à front () n'est pas défini.

Définition

Voici la définition de std :: forward_list à partir du fichier d'en-tête <forward_list>

template < class T, class Alloc = allocator<T> > class forward_list;

Paramètres

  • T - Type de l'élément contenu.

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

  • Alloc - Type d'objet allocateur.

    Par défaut, le modèle de classe d'allocateur est utilisé, qui définit le modèle d'allocation de mémoire le plus simple et est indépendant de la valeur.

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 valeur T (premier paramètre du modèle)
2 allocator_type Alloc (deuxième paramètre du modèle)
3 référence type de valeur&
4 const_reference const value_type &
5 aiguille type de valeur*
6 const_pointer const value_type *
sept itérateur un itérateur à accès aléatoire à value_type
8 const_iterator un itérateur à accès aléatoire à const value_type
9 type de taille size_t
dix difference_type ptrdiff_t

Fonctions de <forward_list>

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

Constructeurs

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

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

2 forward_list :: forward_list constructeur de remplissage

Construit une nouvelle forward_list avec n éléments et assigne val à chaque élément de forward_list.

3 forward_list :: forward_list constructeur de remplissage

Construit une nouvelle forward_list avec n éléments et attribue une valeur nulle à chaque élément de forward_list.

4 forward_list :: constructeur de plage forward_list

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

5 forward_list :: forward_list copy constructeur

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

6 forward_list :: forward_list move constructeur

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

sept forward_list :: constructeur de liste d'initialisation forward_list

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

Destructeur

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

Détruit l'objet forward_list en libérant sa mémoire.

Fonctions des membres

N ° Sr. Méthode et description
1 forward_list :: attribuer la version de la plage

Attribue une nouvelle valeur à forward_list en remplaçant les anciennes.

2 forward_list :: attribuer la version de remplissage

Attribue de nouvelles valeurs à forward_list en remplaçant les anciennes.

3 forward_list :: attribuer la version de la liste d'initialisation

Attribue de nouvelles valeurs à forward_list en remplaçant les anciennes.

4 forward_list :: before_begin

Renvoie un itérateur à accès aléatoire qui pointe vers la position avant le premier élément de la forward_list.

5 forward_list :: commencer

Renvoie un itérateur à accès aléatoire qui pointe vers le premier élément de la forward_list.

6 forward_list :: cbefore_begin

Renvoie un itérateur à accès aléatoire constant qui pointe vers la position avant le premier élément de forward_list.

sept forward_list :: cbegin

Renvoie un itérateur à accès aléatoire constant qui pointe vers le début de la forward_list.

8 forward_list :: cend

Renvoie un itérateur à accès aléatoire constant qui pointe vers la fin de la forward_list.

9 forward_list :: clear

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

dix forward_list :: emplace_after

Construit et insère un nouvel élément après la position dans la forward_list et augmente la taille de forward_list de un.

11 forward_list :: emplace_front

Insère un nouvel élément au début de forward_list et augmente la taille de forward_list de un.

12 forward_list :: vide

Teste si forward_list est vide ou non.

13 forward_list :: end

Renvoie un itérateur à accès aléatoire qui pointe vers le dernier élément de la forward_list.

14 forward_list :: erase_after version de position

Supprime l'élément unique après la position de la forward_list.

15 forward_list :: effacer la version de la plage

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

16 forward_list :: front

Renvoie une référence au premier élément de la forward_list.

17 forward_list :: get_allocator

Renvoie un allocateur associé à forward_list

18 forward_list :: insert_after version élément unique

Étend l'itérateur en insérant un nouvel élément après la position dans forward_list

19 forward_list :: insert_after version de déplacement

Étend l'itérateur en insérant un nouvel élément après la position dans forward_list

20 forward_list :: insert_after remplir la version

Étend l'itérateur en insérant un nouvel élément après la position dans forward_list

21 forward_list :: insert_after version de la plage

Étend l'itérateur en insérant un nouvel élément après la position dans forward_list

22 forward_list :: insert_after version de la liste d'initialisation

Étend l'itérateur en insérant un nouvel élément après la position dans forward_list

23 forward_list :: max_size

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

24 forward_list :: merge

Fusionne deux forward_lists triées en une seule.

25 forward_list :: fusion déplacer la version

Fusionne deux forward_lists triées en une seule.

26 forward_list :: fonction de comparaison de fusion

Fusionne deux forward_lists triées en une seule.

27 forward_list :: merge compare la fonction déplacer la version

Fusionne deux forward_lists triées en une en utilisant la sémantique de déplacement.

28 forward_list :: operator = copie de la version

Attribue un nouveau contenu à la forward_list en remplaçant les anciens.

29 forward_list :: operator = déplacer la version

Attribuez un nouveau contenu à la forward_list en remplaçant les anciens.

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

Attribuez un nouveau contenu à la forward_list en remplaçant les anciens.

31 forward_list :: pop_front

Supprime le premier élément de forward_list.

32 forward_list :: version de copie push_front

Insère un nouvel élément au début de forward_list.

33 forward_list :: push_front déplacer la version

Insère un nouvel élément au début de forward_list.

34 forward_list :: supprimer

supprime les éléments de la forward_list qui correspondent à la valeur.

35 forward_list :: remove_if

supprime les éléments de la forward_list qui remplit la condition.

36 forward_list :: redimensionner

Modifie la taille de forward_list.

37 forward_list :: redimensionner la version de la valeur

Modifie la taille de forward_list.

38 forward_list :: reverse

Inverse l'ordre des éléments présents dans la forward_list.

39 forward_list :: sort

Trie les éléments de la forward_list.

40 forward_list :: fonction de comparaison de tri

Trie les éléments de la forward_list.

41 forward_list :: splice_after

Transfère tous les éléments de forward_list vers * this.

42 forward_list :: splice_after version de déplacement

Transfère tous les éléments de forward_list x vers * this en utilisant la sémantique de déplacement.

43 forward_list :: splice_after élément unique

Transfère un élément vers lequel pointe l'itérateur i de forward_list x dans * this .

44 forward_list :: splice_after version de déplacement d'élément unique

Transfère l'élément pointé par l'itérateur i de forward_list x dans * this en utilisant la sémantique de déplacement.

45 forward_list :: splice_after version de la plage

Transfère les éléments dans la plage du premier au dernier de x à * this .

46 forward_list :: Splice range et déplacer la version

Transfère les éléments dans la plage du premier au dernier de x à * this en utilisant la sémantique de déplacement.

47 forward_list :: swap

Echange le contenu d'une forward_list avec le contenu d'une autre forward_list x .

48 forward_list :: unique

Supprime tous les éléments dupliqués consécutifs de la forward_list.

49 forward_list :: unique

Supprime tous les éléments dupliqués consécutifs de la forward_list.

Fonctions surchargées non membres

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

Teste si deux forward_lists sont égales ou non.

2 opérateur! =

Teste si deux forward_lists sont égales ou non.

3 opérateur <

Teste si first forward_list est inférieur à other ou non.

4 opérateur <=

Teste si la première forward_list est inférieure ou égale à other ou non.

5 opérateur>

Teste si la première forward_list est supérieure ou non à other.

6 opérateur> =

Teste si la première forward_list est supérieure ou égale à other ou non.

sept échanger

Echange le contenu de deux forward_list.