Spec-Zone.ru › Qt

Класс 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API