C ++ - Bibliothek - <Weiterleitungsliste>
Einführung
forward_list ist ein häufig verwendeter Sequenzcontainer. Container ist ein Objekt, das Daten des gleichen Typs enthält. Der Container forward_list ist als einfach verknüpfte Liste implementiert und bietet daher einen unidirektionalen sequentiellen Zugriff auf seine Daten.
forward_list bietet keinen schnellen Direktzugriff, sondern nur sequentiellen Zugriff in nur eine Richtung. forward_list ermöglicht das Einfügen und Löschen an einer beliebigen Stelle innerhalb einer Sequenz in konstanter Zeit.
Elemente von forward_list können in verschiedenen Speicherblöcken verteilt sein. Der Container speichert die erforderlichen Informationen, um den sequentiellen Zugriff auf seine Daten zu ermöglichen. forward_lists können zur Laufzeit an beiden Enden nach Bedarf verkleinert oder erweitert werden. Die Speicheranforderung wird automatisch durch den internen Allokator erfüllt.
Forward_lists mit der Größe Null sind ebenfalls gültig. In diesem Fall zeigen forward_list.begin () und forward_list.end () auf dieselbe Position. Das Verhalten beim Aufruf von front () ist jedoch undefiniert.
Definition
Unten finden Sie die Definition von std :: forward_list aus der Header-Datei <forward_list>
template < class T, class Alloc = allocator<T> > class forward_list;
Parameter
T - Typ des enthaltenen Elements.
T kann durch einen anderen Datentyp einschließlich eines benutzerdefinierten Typs ersetzt werden.
Alloc - Typ des Allokatorobjekts.
Standardmäßig wird die Allokatorklassenvorlage verwendet, die das einfachste Speicherzuordnungsmodell definiert und wertunabhängig ist.
Mitgliedertypen
Die folgenden Elementtypen können von Elementfunktionen als Parameter oder Rückgabetyp verwendet werden.
Sr.Nr. | Mitgliedertypen | Definition |
---|---|---|
1 | Werttyp | T (Erster Parameter der Vorlage) |
2 | allocator_type | Alloc (Zweiter Parameter der Vorlage) |
3 | Referenz | Werttyp& |
4 | const_reference | const value_type & |
5 | Zeiger | Werttyp* |
6 | const_pointer | const value_type * |
7 | Iterator | ein Iterator mit wahlfreiem Zugriff auf value_type |
8 | const_iterator | ein Iterator mit wahlfreiem Zugriff auf const value_type |
9 | size_type | size_t |
10 | Differenztyp | ptrdiff_t |
Funktionen von <forward_list>
Unten finden Sie eine Liste aller Methoden aus dem Header <forward_list>.
Konstruktoren
Sr.Nr. | Methode & Beschreibung |
---|---|
1 | forward_list :: forward_list Standardkonstruktor
Erstellt eine leere forward_list mit null Elementen. |
2 | forward_list :: forward_list fill Konstruktor
Erstellt eine neue forward_list mit n Elementen und weist jedem Element von forward_list val zu. |
3 | forward_list :: forward_list fill Konstruktor
Erstellt eine neue forward_list mit n Elementen und weist jedem Element von forward_list den Wert Null zu. |
4 | forward_list :: forward_list Bereichskonstruktor
Erstellt eine forward_list mit so vielen Elementen wie im Bereich von first bis last . |
5 | forward_list :: forward_list Kopierkonstruktor
Erstellt eine forward_list mit einer Kopie aller in der vorhandenen Liste vorhandenen Elemente. |
6 | forward_list :: forward_list move Konstruktor
Erstellt eine forward_list mit dem Inhalt anderer mithilfe der Verschiebungssemantik. |
7 | forward_list :: forward_list Initialisiererlistenkonstruktor Erstellt eine forward_list aus der Initialisierungsliste. |
Zerstörer
Sr.Nr. | Methode & Beschreibung |
---|---|
1 | forward_list :: ~ forward_list
Zerstört das forward_list-Objekt durch Freigabe seines Speichers. |
Mitgliedsfunktionen
Sr.Nr. | Methode & Beschreibung |
---|---|
1 | forward_list :: Bereichsversion zuweisen
Weist forward_list einen neuen Wert zu, indem alte ersetzt werden. |
2 | forward_list :: assign fill Version
Weist forward_list neue Werte zu, indem alte ersetzt werden. |
3 | forward_list :: Initialisiererlistenversion zuweisen
Weist forward_list neue Werte zu, indem alte ersetzt werden. |
4 | forward_list :: before_begin
Gibt einen Iterator mit wahlfreiem Zugriff zurück, der auf die Position vor dem ersten Element der forward_list zeigt. |
5 | forward_list :: begin
Gibt einen Iterator mit wahlfreiem Zugriff zurück, der auf das erste Element der forward_list verweist. |
6 | forward_list :: cbefore_begin
Gibt einen konstanten Iterator mit wahlfreiem Zugriff zurück, der auf die Position vor dem ersten Element der forward_list zeigt. |
7 | forward_list :: cbegin
Gibt einen konstanten Iterator mit wahlfreiem Zugriff zurück, der auf den Anfang der forward_list zeigt. |
8 | forward_list :: cend
Gibt einen konstanten Iterator mit wahlfreiem Zugriff zurück, der auf das Ende der forward_list zeigt. |
9 | forward_list :: clear
Zerstört die forward_list, indem alle Elemente aus der forward_list entfernt werden, und setzt die Größe der forward_list auf Null. |
10 | forward_list :: emplace_after
Konstruiert und fügt ein neues Element nach der Position in der forward_list ein und erhöht die Größe der forward_list um eins. |
11 | forward_list :: emplace_front
Fügt am Anfang der forward_list ein neues Element ein und vergrößert die forward_list um eins. |
12 | forward_list :: leer
Testet, ob forward_list leer ist oder nicht. |
13 | forward_list :: end
Gibt einen Iterator mit wahlfreiem Zugriff zurück, der auf das letzte Element der forward_list verweist. |
14 | forward_list :: erase_after Positionsversion
Entfernt ein einzelnes Element nach der Position aus der forward_list. |
15 | forward_list :: Version des Löschbereichs
Entfernt den Elementbereich aus der forward_list. |
16 | forward_list :: front
Gibt einen Verweis auf das erste Element der forward_list zurück. |
17 | forward_list :: get_allocator
Gibt einen Allokator zurück, der forward_list zugeordnet ist |
18 | forward_list :: insert_after Einzelelementversion
Erweitert den Iterator durch Einfügen eines neuen Elements nach der Position in forward_list |
19 | forward_list :: insert_after move version
Erweitert den Iterator durch Einfügen eines neuen Elements nach der Position in forward_list |
20 | forward_list :: insert_after fill version
Erweitert den Iterator durch Einfügen eines neuen Elements nach der Position in forward_list |
21 | forward_list :: insert_after Range Version
Erweitert den Iterator durch Einfügen eines neuen Elements nach der Position in forward_list |
22 | forward_list :: insert_after Version der Initialisierungsliste
Erweitert den Iterator durch Einfügen eines neuen Elements nach der Position in forward_list |
23 | forward_list :: max_size
Gibt die maximale Anzahl von Elementen zurück, die von forward_list gehalten werden können. |
24 | forward_list :: merge
Fügt zwei sortierte forward_lists zu einer zusammen. |
25 | forward_list :: merge move version
Fügt zwei sortierte forward_lists zu einer zusammen. |
26 | forward_list :: Merge- Vergleichsfunktion
Fügt zwei sortierte forward_lists zu einer zusammen. |
27 | forward_list :: merge vergleiche Funktion verschiebe Version
Fügt zwei sortierte forward_lists mithilfe der Verschiebungssemantik zu einer zusammen. |
28 | forward_list :: operator = Version kopieren Weist der forward_list neue Inhalte zu, indem alte ersetzt werden. |
29 | forward_list :: operator = Version verschieben
Weisen Sie der forward_list neue Inhalte zu, indem Sie alte ersetzen. |
30 | forward_list :: operator = Version der Initialisierungsliste
Weisen Sie der forward_list neue Inhalte zu, indem Sie alte ersetzen. |
31 | forward_list :: pop_front
Entfernt das erste Element aus forward_list. |
32 | forward_list :: push_front copy version
Fügt ein neues Element am Anfang von forward_list ein. |
33 | forward_list :: push_front move version
Fügt ein neues Element am Anfang von forward_list ein. |
34 | forward_list :: remove
Entfernt Elemente aus der forward_list, die dem Wert entsprechen. |
35 | forward_list :: remove_if
Entfernt Elemente aus der forward_list, die die Bedingung erfüllen. |
36 | forward_list :: resize
Ändert die Größe von forward_list. |
37 | forward_list :: Resize - Wert Version
Ändert die Größe von forward_list. |
38 | forward_list :: reverse
Kehrt die Reihenfolge der in der forward_list vorhandenen Elemente um. |
39 | forward_list :: sort
Sortiert die Elemente der forward_list. |
40 | forward_list :: sort Vergleichsfunktion
Sortiert die Elemente der forward_list. |
41 | forward_list :: splice_after
Überträgt alle Elemente von forward_list nach * this. |
42 | forward_list :: splice_after Version verschieben
Überträgt alle Elemente von forward_list x nach * this mithilfe der Verschiebungssemantik. |
43 | forward_list :: splice_after einzelnes Element
Überträgt ein Element, auf das der Iterator i zeigt, von forward_list x in * this . |
44 | forward_list :: splice_after Version zum Verschieben einzelner Elemente
Überträgt das Element, auf das der Iterator i zeigt, von forward_list x in * this mithilfe der Verschiebungssemantik. |
45 | forward_list :: splice_after Bereichsversion
Überträgt die Elemente im Bereich von zuerst bis zuletzt von x nach * this . |
46 | forward_list :: Spleißbereich und Version verschieben
Überträgt die Elemente im Bereich von zuerst bis zuletzt von x nach *, indem die Bewegungssemantik verwendet wird. |
47 | forward_list :: swap
Tauscht den Inhalt einer forward_list gegen den Inhalt einer anderen forward_list x aus . |
48 | forward_list :: unique
Entfernt alle aufeinanderfolgenden doppelten Elemente aus der forward_list. |
49 | forward_list :: unique
Entfernt alle aufeinanderfolgenden doppelten Elemente aus der forward_list. |
Überladene Funktionen ohne Mitglieder
Sr.Nr. | Methode & Beschreibung |
---|---|
1 | operator ==
Testet, ob zwei forward_lists gleich sind oder nicht. |
2 | Operator! =
Testet, ob zwei forward_lists gleich sind oder nicht. |
3 | Operator <
Testet, ob die erste forward_list kleiner als die andere ist oder nicht. |
4 | Operator <=
Testet, ob die erste forward_list kleiner oder gleich der anderen ist oder nicht. |
5 | Betreiber>
Testet, ob die erste forward_list größer als die andere ist oder nicht. |
6 | Operator> =
Testet, ob die erste forward_list größer oder gleich der anderen ist oder nicht. |
7 | Tauschen
Tauscht den Inhalt von zwei forward_list aus. |