Biblioteka C ++ - <iterator>

Wprowadzenie

Jest to obiekt podobny do wskaźnika, który można zwiększać za pomocą ++, wyłuskiwać za pomocą * i porównywać z innym iteratorem za pomocą! =

Kategorie

Kategoria nieruchomości prawidłowe wyrażenia
Wszystkie kategorie możliwe do skopiowania , przypisania do kopiowania i zniszczenia

X b(a);

b = a;

Można ją zwiększyć

++a

a++

Losowy dostęp Dwukierunkowy Naprzód Wejście Obsługuje porównania równości / nierówności

a == b

a != b

Można ją wyłuskać jako wartość r

*za

a-> m

Wynik

Można ją wyłuskać jako lwartość

(tylko dla mutowalnych typów iteratorów )

* a = t

* a ++ = t

domyślna konstrukcja

X a;

X ()

Wieloprzebiegowe: ani dereferencja, ani inkrementacja nie wpływają na dereferencyjność { b = a; *a++; *b; }
Można ją zmniejszyć

--za

za--

*za--

Obsługuje operatory arytmetyczne + i -

a + n

n + a

a - n

a - b

Obsługuje porównania nierówności ( < , > , <= i > = ) między iteratorami

a <b

a> b

a <= b

a> = b

Obsługuje operacje przypisania złożonych + = i - =

a + = n

a - = n

Obsługuje operator wyłuskiwania przesunięcia ( [] ) na]

Funkcje

Sr.No. Funkcje i opis
1 postęp

Przesuwa iterator o n pozycji elementów.

2 dystans

Zwraca odległość między iteratorami.

3 zaczynać

Służy do rozpoczęcia iteratora.

4 koniec

Służy do zakończenia iteratora.

5 poprz

Służy do uzyskania iteratora do poprzedniego elementu.

6 Kolejny

Służy do przejścia iteratora do następnego elementu.

Generatory iteracyjne

Sr.No. Generatory iteratorów i opis
1 back_inserter

Tworzy iterator wstawiania wstecznego.

2 inserter

Tworzy iterator wstawiania

3 make_move_iterator

Tworzy iteratory ruchu.

Zajęcia

Sr.No. Klasy i opis
1 iterator

Iteruje klasę bazową.

2 iterator_traits

Jest to cecha iteratora.

Predefiniowane iteratory

Sr.No. Predefiniowane iteratory i opis
1 reverse_iterator

Jest to iterator odwrotny.

2 move_iterator

Jest to iterator ruchu.

3 back_insert_iterator

Jest to iterator wstawiania wstecznego.

4 front_insert_iterator

Jest to iterator wkładki przedniej.

5 insert_iterator

Służy do wstawiania iteratora.

6 istream_iterator

Jest to iterator strumienia wejściowego.

7 ostream_iterator

Jest to iterator strumienia wyjściowego.

8 istreambuf_iterator

Jest to iterator bufora strumienia wejściowego.

7 ostreambuf_iterator

Jest to iterator bufora strumienia wyjściowego.

Tagi kategorii

Sr.No. Tagi kategorii i opis
1 input_iterator_tag

Wprowadź kategorię iteratora.

2 output_iterator_tag

kategoria iteratora wyjścia.

3 forward_iterator_tag

Kategoria iteratora do przodu.

4 bidirectional_iterator_tag

Kategoria iteratora dwukierunkowego.

5 random_access_iterator_tag

Kategoria iteratora o dostępie swobodnym.