Библиотека C ++ - <iterator>
Введение
Это объект, подобный указателю, который можно увеличивать с помощью ++, разыменовать с помощью * и сравнивать с другим итератором с помощью! =
Категории
| категория | свойства | действительные выражения | |||
|---|---|---|---|---|---|
| Все категории | копируемо-конструируемый , копируемый назначаемый и разрушаемый |
|
|||
| Его можно увеличивать |
|
||||
| Произвольный доступ | Двунаправленный | Вперед | Ввод | Он поддерживает сравнение равенства / неравенства |
|
| Его можно разыменовать как rvalue | * а а-> м |
||||
| Вывод | Его можно разыменовать как lvalue (только для изменяемых типов итераторов ) |
* а = т * а ++ = т |
|||
| конструктивный по умолчанию | X a; ИКС() |
||||
| Многопроходный: ни разыменование, ни приращение не влияют на разыменование | { b = a; *a++; *b; } |
||||
| Его можно уменьшить | --а а- * а-- |
||||
| Он поддерживает арифметические операторы + и - | а + п п + а а - н а - б |
||||
| Он поддерживает сравнения неравенств ( < , > , <= и > = ) между итераторами. | а <б а> б а <= б а> = б |
||||
| Он поддерживает составные операции присваивания + = и - = | а + = п а - = п |
||||
| Он поддерживает оператор разыменования смещения ( [] ) | а [п] | ||||
Функции
| Sr. No. | Функции и описание |
|---|---|
| 1 | продвижение Он продвигает итератор на n позиций элемента. |
| 2 | расстояние Возвращает расстояние между итераторами. |
| 3 | начать Он используется для запуска итератора. |
| 4 | конец Он используется для завершения итератора. |
| 5 | предыдущий Он используется для перехода к предыдущему элементу итератора. |
| 6 | следующий Он используется для перехода к следующему элементу. |
Генераторы итераторов
| Sr. No. | Генераторы итераторов и описание |
|---|---|
| 1 | back_inserter Создает итератор обратной вставки. |
| 2 | установщик Создает итератор вставки |
| 3 | make_move_iterator Он создает итераторы перемещения. |
Классы
| Sr. No. | Классы и описание |
|---|---|
| 1 | итератор Это итераторы базового класса. |
| 2 | iterator_traits Это итератор черт. |
Предопределенные итераторы
| Sr. No. | Предопределенные итераторы и описание |
|---|---|
| 1 | reverse_iterator Это обратный итератор. |
| 2 | move_iterator Это итератор перемещения. |
| 3 | back_insert_iterator Это итератор обратной вставки. |
| 4 | front_insert_iterator Это итератор передней вставки. |
| 5 | insert_iterator Он используется для вставки итератора. |
| 6 | istream_iterator Это итератор входного потока. |
| 7 | ostream_iterator Это итератор выходного потока. |
| 8 | istreambuf_iterator Это итератор буфера входного потока. |
| 7 | ostreambuf_iterator Это итератор буфера выходного потока. |
Теги категорий
| Sr. No. | Теги категорий и описание |
|---|---|
| 1 | input_iterator_tag Категория итератора ввода. |
| 2 | output_iterator_tag категория итератора вывода. |
| 3 | forward_iterator_tag Категория прямого итератора. |
| 4 | bidirectional_iterator_tag Категория двунаправленного итератора. |
| 5 | random_access_iterator_tag Категория итератора произвольного доступа. |