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. |