Класс Iterator
класс QCborArray::IteratorКласс QCborArray::Iterator предоставляет итератор в стиле STL для QCborArray. Подробнее...
Этот класс был введён в Qt 5.12.
Общедоступные типы
| iterator_category |
Общедоступные функции
| Iterator(const Iterator &other) | |
| Iterator() | |
| Iterator & | operator=(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 |
| 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 позволяет итерироваться по QCborArray и изменять элементы массива, связанные с итератором. Если нужно итерироваться по константной QCborArray, используйте QCborArray::ConstIterator. В целом, рекомендуется использовать QCborArray::ConstIterator и для неконстантной QCborArray, если не требуется изменение QCborArray через итератор. Константные итераторы немного быстрее и улучшают читаемость кода.
Итераторы инициализируются с помощью функции QCborArray, например, QCborArray::begin(), QCborArray::end() или QCborArray::insert(). Итерирование возможно только после этого.
Большинство функций QCborArray принимают целочисленный индекс, а не итератор. Поэтому итераторы редко полезны в работе с QCborArray. Одно место, где итераторы в стиле STL имеют смысл, — это аргументы для общих алгоритмов.
Можно использовать несколько итераторов для одного массива. Однако следует помнить, что любая функция для QCborArray, не являющаяся константной, сделает все существующие итераторы неопределёнными.
См. также QCborArray::ConstIterator.
Документация по типам членов
Iterator::iterator_category
Синоним для std::random_access_iterator_tag, указывающий, что этот итератор является итератором произвольного доступа.
Документация по функциям-членам
bool Iterator::operator>=(const ConstIterator &other) const
bool Iterator::operator>=(const Iterator &other) const
Возвращает true если элемент массива, на который указывает этот итератор, расположен после или совпадает с элементом, на который указывает итератор other.
bool Iterator::operator>(const ConstIterator &other) const
bool Iterator::operator>(const Iterator &other) const
Возвращает true если элемент массива, на который указывает этот итератор, расположен после элемента, на который указывает итератор other.
bool Iterator::operator<=(const ConstIterator &other) const
bool Iterator::operator<=(const Iterator &other) const
Возвращает true если элемент массива, на который указывает этот итератор, расположен до или совпадает с элементом, на который указывает итератор other.
bool Iterator::operator<(const ConstIterator &other) const
bool Iterator::operator<(const Iterator &other) const
Возвращает true если элемент массива, на который указывает этот итератор, расположен до элемента, на который указывает итератор other.
bool Iterator::operator!=(const ConstIterator &other) const
bool Iterator::operator!=(const Iterator &other) const
Возвращает true если other указывает на другой элемент массива, чем этот итератор; в противном случае возвращает false.
См. также operator==().
bool Iterator::operator==(const ConstIterator &other) const
bool Iterator::operator==(const Iterator &other) const
Возвращает true если other указывает на тот же элемент в массиве, что и этот итератор; в противном случае возвращает false.
См. также operator!=().
Iterator::Iterator(const Iterator &other)
Создаёт копию other.
Iterator::Iterator()
Создаёт неинициализированный итератор.
Функции, подобные operator*() и operator++(), не должны вызываться для неинициализированного итератора. Используйте operator=() для присваивания значения перед использованием.
См. также QCborArray::begin() и QCborArray::end().
Iterator &Iterator::operator=(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
Возвращает указатель на изменяемую ссылку на текущий элемент.
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-6.2/qcborarray-iterator.html