Perpustakaan C ++ - <iterator>

pengantar

Ini adalah objek seperti penunjuk yang bisa ditambah dengan ++, didereferensi dengan *, dan dibandingkan dengan iterator lain dengan! =

Kategori

kategori properti ekspresi yang valid
semua Kategori copy-konstruktif , copy-assignable dan destructible

X b(a);

b = a;

Itu bisa bertambah

++a

a++

Akses acak Dua arah Meneruskan Memasukkan Ini mendukung perbandingan kesetaraan / ketidaksetaraan

a == b

a != b

Ini dapat dideferensiasi sebagai nilai r

*Sebuah

a-> m

Keluaran

Dapat dideferensiasi sebagai nilai l

(hanya untuk jenis iterator yang bisa berubah )

* a = t

* a ++ = t

dapat dibuat default

X a;

X ()

Multi-pass: baik dereferencing maupun incrementing tidak memengaruhi dereferensiabilitas { b = a; *a++; *b; }
Itu bisa dikurangi

--Sebuah

Sebuah--

*Sebuah--

Ini mendukung operator aritmatika + dan -

a + n

n + a

sebuah

a - b

Ini mendukung perbandingan ketidaksetaraan ( < , > , <= dan > = ) antara iterator

a <b

a> b

a <= b

a> = b

Ini mendukung operasi penugasan gabungan + = dan - =

a + = n

a - = n

Mendukung operator dereferensi offset ( [] ) sebuah]

Fungsi

Sr.No. Fungsi & Deskripsi
1 muka

Ini memajukan iterator dengan posisi n elemen.

2 jarak

Ini mengembalikan jarak antara iterator.

3 mulai

Ini digunakan untuk memulai iterator.

4 akhir

Ini digunakan untuk mengakhiri iterator.

5 sebelumnya

Ini digunakan untuk memindahkan iterator ke elemen sebelumnya.

6 lanjut

Ini digunakan untuk memindahkan iterator ke elemen berikutnya.

Generator Iterator

Sr.No. Generator Iterator & Deskripsi
1 back_inserter

Ini membangun iterator penyisipan kembali.

2 penyisip

Ini membangun masukkan iterator

3 make_move_iterator

Ini membangun iterator bergerak.

Kelas

Sr.No. Kelas & Deskripsi
1 iterator

Itu kelas dasar iterator.

2 iterator_traits

Ini adalah sifat iterator.

Iterator standar

Sr.No. Iterator & Deskripsi standar
1 reverse_iterator

Ini adalah iterator terbalik.

2 move_iterator

Ini adalah iterator bergerak.

3 back_insert_iterator

Ini adalah iterator sisipan belakang.

4 front_insert_iterator

Ini adalah iterator sisipan depan.

5 insert_iterator

Ini digunakan untuk memasukkan iterator.

6 istream_iterator

Ini adalah iterator aliran input.

7 ostream_iterator

Ini adalah iterator aliran keluaran.

8 istreambuf_iterator

Ini adalah iterator buffer aliran masukan.

7 ostreambuf_iterator

Ini adalah iterator buffer aliran keluaran.

Tag kategori

Sr.No. Tag kategori & Deskripsi
1 input_iterator_tag

Masukkan kategori iterator.

2 output_iterator_tag

keluaran kategori iterator.

3 forward_iterator_tag

Teruskan kategori iterator.

4 bidirectional_iterator_tag

Kategori iterator dua arah.

5 random_access_iterator_tag

Kategori iterator akses acak.