Класс Iterator
(QCborArray::Iterator)Класс QCborArray::Iterator предоставляет итератор в стиле STL для QCborArray без возможности изменения. Подробнее...
| Заголовок: | #include <Iterator> |
| qmake: | QT += core |
| С тех пор: | Qt 5.12 |
Типы публичного доступа
| typedef | iterator_category |
Публичные функции
| Iterator() | |
| Iterator(const Iterator &other) | |
| bool | operator!=(const Iterator &other) const |
| bool | operator!=(const ConstIterator &other) const |
| QCborValueRef | operator*() const |
| Iterator | operator+(qsizetype j) const |
| Iterator & | operator++() |
| Iterator | operator++(int) |
| Iterator & | operator+=(qsizetype j) |
| Iterator | operator-(qsizetype j) const |
| qsizetype | operator-(Iterator other) const |
| Iterator & | operator--() |
| Iterator | operator--(int) |
| Iterator & | operator-=(qsizetype j) |
| QCborValueRef * | operator->() const |
| bool | operator<(const Iterator &other) const |
| bool | operator<(const ConstIterator &other) const |
| bool | operator<=(const Iterator &other) const |
| bool | operator<=(const ConstIterator &other) const |
| Iterator & | operator=(const Iterator &other) |
| bool | operator==(const Iterator &other) const |
| bool | operator==(const ConstIterator &other) const |
| bool | operator>(const Iterator &other) const |
| bool | operator>(const ConstIterator &other) const |
| bool | operator>=(const Iterator &other) const |
| bool | operator>=(const ConstIterator &other) const |
| QCborValueRef | operator[](qsizetype j) |
Подробное описание
Класс QCborArray::Iterator предоставляет итератор в стиле STL для QCborArray без возможности изменения.
QCborArray::Iterator позволяет итерироваться по QCborArray без возможности изменения элементов массива. Если вам нужно итерироваться по константной QCborArray, используйте QCborArray::ConstIterator вместо этого. Как правило, лучше использовать QCborArray::ConstIterator и на неизменяемой QCborArray, за исключением случаев, когда вам необходимо изменить QCborArray через итератор. Константные итераторы немного быстрее и улучшают читабельность кода.
Итераторы инициализируются с помощью функций QCborArray, таких как QCborArray::begin(), QCborArray::end() или QCborArray::insert(). Итерация возможна только после этого.
Большинство функций QCborArray принимают целочисленный индекс, а не итератор. По этой причине итераторы редко полезны в работе с QCborArray. Одно место, где итераторы в стиле STL имеют смысл, — это в качестве аргументов для общих алгоритмов.
Можно использовать несколько итераторов для одного массива. Однако следует учитывать, что любое вызов функции над QCborArray (за исключением константных) сделает все существующие итераторы неопределенными.
См. также QCborArray::ConstIterator.
Документация по типам членов
typedef Iterator::iterator_category
Синоним для std::random_access_iterator_tag, указывающий, что этот итератор — итератор случайного доступа.
Документация по функциям-членам
bool Iterator::operator>=(const Iterator &other) const
bool Iterator::operator>=(const ConstIterator &other) const
Возвращает true, если элемент в массиве, на который указывает этот итератор, находится после или совпадает с элементом, на который указывает итератор other.
bool Iterator::operator>(const Iterator &other) const
bool Iterator::operator>(const ConstIterator &other) const
Возвращает true, если элемент в массиве, на который указывает этот итератор, следует после элемента, на который указывает итератор other.
bool Iterator::operator<=(const Iterator &other) const
bool Iterator::operator<=(const ConstIterator &other) const
Возвращает true, если элемент в массиве, на который указывает этот итератор, находится перед или совпадает с элементом, на который указывает итератор other.
bool Iterator::operator<(const Iterator &other) const
bool Iterator::operator<(const ConstIterator &other) const
Возвращает true, если элемент в массиве, на который указывает этот итератор, предшествует элементу, на который указывает итератор other.
END_OF_DOCUMENT_MARKERbool Iterator::operator!=(const Iterator &other) const
bool Iterator::operator!=(const ConstIterator &other) const
Возвращает true если other указывает на другой элемент в массиве, чем этот итератор; в противном случае возвращает false.
См. также operator==().
bool Iterator::operator==(const Iterator &other) const
bool Iterator::operator==(const ConstIterator &other) const
Возвращает true если other указывает на тот же элемент в массиве, что и этот итератор; в противном случае возвращает false.
См. также operator!=().
Iterator::Iterator()
Создаёт неинициализированный итератор.
Функции, такие как operator*() и operator++(), не должны вызываться для неинициализированного итератора. Используйте operator=() для присвоения значения перед использованием.
См. также QCborArray::begin() и QCborArray::end().
Iterator::Iterator(const Iterator &other)
Создаёт копию other.
QCborValueRef Iterator::operator*() const
Возвращает изменяемую ссылку на текущий элемент.
Вы можете изменить значение элемента, используя operator*() в левой части присваивания.
Значение возвращается типа QCborValueRef, вспомогательный класс для QCborArray и QCborMap. Когда вы получаете объект типа QCborValueRef, вы можете использовать его так, как если бы это была ссылка на QCborValue. Если вы присваиваете ему значение, это присваивание будет применяться к элементу в QCborArray или QCborMap, из которого вы получили ссылку.
Iterator Iterator::operator+(qsizetype j) const
Возвращает итератор к элементу в позиции j шагов вперёд от этого итератора. Если j отрицательно, итератор перемещается назад.
См. также operator-() и operator+=().
Iterator &Iterator::operator++()
Префиксный оператор ++, ++it, перемещает итератор к следующему элементу в массиве и возвращает этот итератор.
Вызов этой функции для QCborArray::end() приводит к неопределённым результатам.
См. также operator--().
Iterator Iterator::operator++(int)
Это перегруженная функция.
Постфиксный оператор ++, it++, перемещает итератор к следующему элементу в массиве и возвращает итератор к предыдущему текущему элементу.
Iterator &Iterator::operator+=(qsizetype j)
Перемещает итератор на j позиций. Если j отрицательно, итератор перемещается назад. Возвращает ссылку на этот итератор.
См. также operator-=() и operator+().
Iterator Iterator::operator-(qsizetype j) const
Возвращает итератор к элементу в позиции j шагов назад от этого итератора. Если j отрицательно, итератор перемещается вперёд.
См. также operator+() и operator-=().
qsizetype Iterator::operator-(Iterator other) const
Возвращает смещение этого итератора относительно other.
Iterator &Iterator::operator--()
Префиксный оператор --, --it, делает предыдущий элемент текущим и возвращает этот итератор.
Вызов этой функции для QCborArray::begin() приводит к неопределённым результатам.
См. также operator++().
Iterator Iterator::operator--(int)
Это перегруженная функция.
Постфиксный оператор --, it--, делает предыдущий элемент текущим и возвращает итератор к предыдущему текущему элементу.
Iterator &Iterator::operator-=(qsizetype j)
Перемещает итератор назад на j позиций. Если j отрицательно, итератор перемещается вперёд. Возвращает ссылку на этот итератор.
См. также operator+=() и operator-().
QCborValueRef *Iterator::operator->() const
Возвращает указатель на изменяемую ссылку на текущий элемент.
Iterator &Iterator::operator=(const Iterator &other)
Делает этот итератор копией other и возвращает ссылку на этот итератор.
QCborValueRef Iterator::operator[](qsizetype j)
Возвращает изменяемую ссылку на элемент в позиции j шагов вперёд от элемента, на который указывает этот итератор.
Эта функция предназначена для того, чтобы итераторы QCborArray вели себя как указатели C++.
Значение возвращается типа QCborValueRef, вспомогательный класс для QCborArray и QCborMap. Когда вы получаете объект типа QCborValueRef, вы можете использовать его так, как если бы это была ссылка на QCborValue. Если вы присваиваете ему значение, это присваивание будет применяться к элементу в QCborArray или QCborMap, из которого вы получили ссылку.
См. также operator+().
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.12/qcborarray-iterator.html