Biblioteka C ++ - <forward_list>

Wprowadzenie

forward_list to powszechnie używany kontener sekwencji. Kontener to obiekt przechowujący dane tego samego typu. Kontener forward_list jest zaimplementowany jako pojedynczo połączona lista, dlatego zapewnia jednokierunkowy sekwencyjny dostęp do danych.

forward_list nie zapewnia szybkiego dostępu losowego, obsługuje tylko dostęp sekwencyjny tylko w jednym kierunku. forward_list umożliwia operację wstawiania i usuwania w dowolnym miejscu sekwencji w stałym czasie.

Elementy forward_list mogą być rozproszone w różnych fragmentach pamięci. Kontener przechowuje niezbędne informacje, aby umożliwić sekwencyjny dostęp do swoich danych. forward_lists może zmniejszać się lub rozszerzać w razie potrzeby z obu końców w czasie wykonywania. Zapotrzebowanie na miejsce jest automatycznie wypełniane przez wewnętrzny podzielnik.

Prawidłowe są również listy forward_lists o zerowej wielkości. W takim przypadku forward_list.begin () i forward_list.end () wskazują na tę samą lokalizację. Ale zachowanie wywołania front () jest nieokreślone.

Definicja

Poniżej znajduje się definicja std :: forward_list z pliku nagłówkowego <forward_list>

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

Parametry

  • T - Typ zawartego elementu.

    T można zastąpić dowolnym innym typem danych, w tym typem zdefiniowanym przez użytkownika.

  • Alloc - Typ obiektu alokatora.

    Domyślnie używany jest szablon klasy alokatora, który definiuje najprostszy model alokacji pamięci i jest niezależny od wartości.

Typy członków

Następujące typy elementów członkowskich mogą być używane jako parametry lub zwracane typy przez funkcje składowe.

Sr.No. Typy członków Definicja
1 typ wartości T (pierwszy parametr szablonu)
2 Alokator_typ Alloc (drugi parametr szablonu)
3 odniesienie typ wartości&
4 const_reference const value_type &
5 wskaźnik typ wartości*
6 const_pointer const value_type *
7 iterator iterator dostępu swobodnego do typ_wartości
8 const_iterator iterator dostępu swobodnego do const value_type
9 typ_rozmiaru size_t
10 typ_różnicy ptrdiff_t

Funkcje z <forward_list>

Poniżej znajduje się lista wszystkich metod z nagłówka <forward_list>.

Konstruktorzy

Sr.No. Metoda i opis
1 forward_list :: forward_list domyślny konstruktor

Konstruuje pustą forward_list z zerowymi elementami.

2 forward_list :: forward_list fill konstruktor

Konstruuje nową listę forward_list z n elementami i przypisuje val do każdego elementu forward_list.

3 forward_list :: forward_list fill konstruktor

Konstruuje nową listę forward_list z n elementami i przypisuje zerową wartość każdemu elementowi forward_list.

4 forward_list :: forward_list konstruktor zakresu

Konstruuje forward_list z tyloma elementami w zakresie od pierwszego do ostatniego .

5 forward_list :: forward_list Konstruktor kopiujący

Konstruuje forward_list z kopią każdego elementu obecnego na istniejącej liście.

6 forward_list :: forward_list Konstruktor przenoszenia

Konstruuje forward_list z zawartością innych przy użyciu semantyki przenoszenia.

7 forward_list :: forward_list Konstruktor listy inicjalizacyjnej

Konstruuje forward_list z listy inicjalizacji.

Burzyciel

Sr.No. Metoda i opis
1 forward_list :: ~ forward_list

Niszczy obiekt forward_list, zwalniając jego pamięć.

Funkcje składowe

Sr.No. Metoda i opis
1 forward_list :: przypisanie wersji zakresu

Przypisuje nową wartość do forward_list, zastępując stare.

2 forward_list :: przypisanie wersji wypełnienia

Przypisuje nowe wartości do forward_list, zastępując stare.

3 forward_list :: przypisanie wersji listy inicjalizacyjnej

Przypisuje nowe wartości do forward_list, zastępując stare.

4 forward_list :: before_begin

Zwraca iterator dostępu swobodnego, który wskazuje pozycję przed pierwszym elementem listy forward_list.

5 forward_list :: begin

Zwraca iterator dostępu swobodnego, który wskazuje na pierwszy element listy forward_list.

6 forward_list :: cbefore_begin

Zwraca iterator o stałym dostępie swobodnym, który wskazuje pozycję przed pierwszym elementem listy forward_list.

7 forward_list :: cbegin

Zwraca iterator o stałym dostępie swobodnym, który wskazuje początek forward_list.

8 forward_list :: cend

Zwraca iterator o stałym dostępie swobodnym, który wskazuje koniec forward_list.

9 forward_list :: clear

Niszczy forward_list, usuwając wszystkie elementy z forward_list i ustawia rozmiar forward_list na zero.

10 forward_list :: emplace_after

Konstruuje i wstawia nowy element po pozycji w forward_list i zwiększa rozmiar forward_list o jeden.

11 forward_list :: emplace_front

Wstawia nowy element na początku forward_list i zwiększa rozmiar forward_list o jeden.

12 forward_list :: empty

Sprawdza, czy forward_list jest pusta, czy nie.

13 forward_list :: end

Zwraca iterator dostępu swobodnego, który wskazuje na ostatni element forward_list.

14 forward_list :: erase_after pozycja wersja

Usuwa pojedynczy element po pozycji z forward_list.

15 forward_list :: kasowanie wersji zakresu

Usuwa zakres elementu z forward_list.

16 forward_list :: front

Zwraca odniesienie do pierwszego elementu forward_list.

17 forward_list :: get_allocator

Zwraca alokator powiązany z forward_list

18 forward_list :: insert_after wersja pojedynczego elementu

Rozszerza iterator, wstawiając nowy element po pozycji w forward_list

19 forward_list :: insert_after move version

Rozszerza iterator, wstawiając nowy element po pozycji w forward_list

20 forward_list :: insert_after fill version

Rozszerza iterator, wstawiając nowy element po pozycji w forward_list

21 forward_list :: insert_after range wersja

Rozszerza iterator, wstawiając nowy element po pozycji w forward_list

22 forward_list :: insert_after wersja listy inicjalizacyjnej

Rozszerza iterator, wstawiając nowy element po pozycji w forward_list

23 forward_list :: max_size

Zwraca maksymalną liczbę elementów, które mogą być przechowywane przez forward_list.

24 forward_list :: merge

Łączy dwie posortowane forward_lists w jedną.

25 forward_list :: merge move version

Łączy dwie posortowane forward_lists w jedną.

26 forward_list :: funkcja porównywania scalania

Łączy dwie posortowane forward_lists w jedną.

27 forward_list :: merge porównaj funkcję przenieś wersję

Łączy dwie posortowane forward_lists w jedną przy użyciu semantyki przenoszenia.

28 forward_list :: operator = kopiuj wersję

Przypisuje nową zawartość do forward_list, zastępując stare.

29 forward_list :: operator = przenieś wersję

Przypisz nową zawartość do forward_list, zastępując stare.

30 forward_list :: operator = wersja listy inicjalizacyjnej

Przypisz nową zawartość do forward_list, zastępując stare.

31 forward_list :: pop_front

Usuwa pierwszy element z forward_list.

32 forward_list :: push_front copy version

Wstawia nowy element na początku forward_list.

33 forward_list :: push_front move version

Wstawia nowy element na początku forward_list.

34 forward_list :: remove

usuwa element (y) z forward_list, które są zgodne z wartością.

35 forward_list :: remove_if

usuwa elementy z forward_list, które spełniają warunek.

36 forward_list :: resize

Zmienia rozmiar forward_list.

37 forward_list :: wersja wartości zmiany rozmiaru

Zmienia rozmiar forward_list.

38 forward_list :: reverse

Odwraca kolejność elementów obecnych w forward_list.

39 forward_list :: sort

Sortuje elementy forward_list.

40 forward_list :: funkcja porównywania sortowania

Sortuje elementy forward_list.

41 forward_list :: splice_after

Przenosi wszystkie elementy z forward_list do * this.

42 forward_list :: splice_after move version

Przenosi wszystkie elementy z forward_list x do * this przy użyciu semantyki przenoszenia.

43 forward_list :: splice_after pojedynczy element

Przenosi element wskazywany przez iterator i z forward_list x do * this .

44 forward_list :: splice_after wersja przeniesienia pojedynczego elementu

Przenosi element wskazywany przez iterator i z forward_list x do * this przy użyciu semantyki przenoszenia.

45 forward_list :: splice_after wersja zakresu

Przenosi elementy z zakresu od pierwszego do ostatniego z x do * this .

46 forward_list :: zakres łączenia i wersja przenoszenia

Przenosi elementy z zakresu od pierwszego do ostatniego z x do * this przy użyciu semantyki przenoszenia.

47 forward_list :: swap

Zamienia zawartość listy forward_list z zawartością innej listy forward_list x .

48 forward_list :: unique

Usuwa wszystkie kolejne zduplikowane elementy z forward_list.

49 forward_list :: unique

Usuwa wszystkie kolejne zduplikowane elementy z forward_list.

Przeciążone funkcje niebędące członkami

Sr.No. Metoda i opis
1 operator ==

Sprawdza, czy dwie forward_lists są równe, czy nie.

2 operator! =

Sprawdza, czy dwie forward_lists są równe, czy nie.

3 operator <

Sprawdza, czy pierwsza forward_list jest mniejsza niż inna, czy nie.

4 operator <=

Sprawdza, czy pierwsza forward_list jest mniejsza lub równa innym, czy nie.

5 operator>

Sprawdza, czy pierwsza forward_list jest większa niż inna, czy nie.

6 operator> =

Sprawdza, czy pierwsza forward_list jest większa lub równa innym, czy nie.

7 zamiana

Zamienia zawartość dwóch forward_list.