reverse_iterator Class
Класс шаблона является адаптера итератор, который описывает объект реверсивный итератор, который ведет себя как произвольный доступ или двунаправленный итератор, только в обратном порядке.Он позволяет обратной обход диапазона.
template <class RandomIterator>
class reverse_iterator
Параметры
- RandomIterator
Тип, представляющий итератора быть приспособлены для работы в обратном порядке.
Заметки
Существующие контейнеры библиотеки стандартных шаблонов также определить reverse_iterator и const_reverse_iterator типы и функции-члены имеют rbegin и rend , возвращают обратного итераторов.Эти итераторы имеют перезаписать семантики.reverse_iterator Адаптера дополняет эту функцию как вставить семантику и может также использоваться с потоками.
reverse_iteratorS, требуют двунаправленный итератор не должна вызывать любой член функции operator+=, operator+, operator-=, operator-, или operator[], который может использоваться только с Итераторы произвольного доступа.
Если диапазон итератор [_First, _Last), где квадратная скобка слева указывает на включение _первый и скобки справа указывает на включение элементов до _слева , но за исключением _слева себя.Те же элементы включены в обратной последовательности [редакция – _First, редакция – _слева) таким образом, если _слева является одно раньше конца элемента в последовательности, выберите первый элемент редакция – _первый в обратной последовательности точек для * (_слева – 1).Это удостоверение, которая связана с их основной итераторы всех итераторов обратного:
&*(reverse_iterator ( i ) ) == &*( i – 1 ).
На практике это означает, что в обратной последовательности reverse_iterator будет ссылаться на элемент на одну позицию выше (справа) элемент, итератор ссылки в исходной последовательности.Таким образом, если итератор направлено 6 элементов в последовательности (2, 4, 6, 8), а затем reverse_iterator будет адрес четвертый элемент в обратной последовательности (8, 6, 4, 2).
Конструкторы
Создает по умолчанию reverse_iterator или reverse_iterator из базового итератора. |
Определения типов
Тип, который содержит разницу между двумя reverse_iterators, ссылающийся на элементы в одном контейнере. |
|
Тип, который содержит базовый итератор для reverse_iterator. |
|
Тип, который содержит указатель на элемент, по reverse_iterator. |
|
Тип, который содержит ссылку на элемент по reverse_iterator. |
Функции-члены
Восстанавливает базовый итератор из его reverse_iterator. |
Операторы
Возвращает элемент, reverse_iterator адресов. |
|
Добавляет смещение итератора и возвращает новый reverse_iterator адресации вставленный элемент в новую позицию смещения. |
|
С шагом reverse_iterator к следующему элементу. |
|
Добавляет указанное смещение от reverse_iterator. |
|
Вычитает смещение от reverse_iterator и возвращает reverse_iterator адресации элемент смещения позиции. |
|
Уменьшает reverse_iterator на предыдущий элемент. |
|
Вычитает указанное смещение от reverse_iterator. |
|
Возвращает указатель на элемент, по reverse_iterator. |
|
Возвращает ссылку на элемент смещения от элемента, по reverse_iterator на заданное число позиций. |
Требования
Заголовок: <iterator>
Пространство имен: std
См. также
Ссылки
Потокобезопасность в стандартной библиотеке C++
Стандартная библиотека шаблонов