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.