Класс 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==().
END_OF_DOCUMENT_MARKERbool 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.0/qcborarray-iterator.html