Класс Iterator
класс QCborMap::IteratorКласс QCborMap::Iterator предоставляет итератор в стиле STL для QCborMap. Подробнее...
Этот класс был введён в Qt 5.12.
Публичные типы
| iterator_category |
Публичные функции
| Iterator(const Iterator &other) | |
| Iterator() | |
| Iterator & | operator=(const Iterator &other) |
| QCborValue | key() const |
| QCborValueRef | value() const |
| bool | operator!=(const Iterator &other) const |
| bool | operator!=(const ConstIterator &other) const |
| Iterator::value_type | operator*() const |
| Iterator | operator+(qsizetype j) const |
| Iterator & | operator++() |
| Iterator | operator++(int) |
| Iterator & | operator+=(qsizetype j) |
| Iterator | operator-(qsizetype j) const |
| qsizetype | operator-(Iterator j) 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 |
Подробное описание
QCborMap::Iterator позволяет итерироваться по QCborMap и изменять значения (но не ключи) хранящиеся под определённым ключом. Если вы хотите итерироваться по константной QCborMap, используйте QCborMap::ConstIterator. В общем случае рекомендуется использовать QCborMap::ConstIterator и на неконстантной QCborMap, если вы не нуждаетесь в изменении QCborMap через итератор. Константные итераторы немного быстрее и улучшают читаемость кода.
Итератор необходимо инициализировать с помощью функции QCborMap, такой как QCborMap::begin(), QCborMap::end() или QCborMap::find() перед началом итерации.
Несколько итераторов могут быть использованы на одном объекте. Однако существующие итераторы станут висящими, как только объект будет изменён.
См. также QCborMap::ConstIterator.
Документация типов членов
Iterator::iterator_category
Синоним для std::random_access_iterator_tag, указывающий, что этот итератор является итератором произвольного доступа.
Документация функций членов
bool Iterator::operator>=(const ConstIterator &other) const
bool Iterator::operator>=(const Iterator &other) const
Возвращает true если запись в map, на которую указывает этот итератор, находится после или совпадает с записью, на которую указывает итератор other.
bool Iterator::operator>(const ConstIterator &other) const
bool Iterator::operator>(const Iterator &other) const
Возвращает true если запись в map, на которую указывает этот итератор, находится после записи, на которую указывает итератор other.
bool Iterator::operator<=(const ConstIterator &other) const
bool Iterator::operator<=(const Iterator &other) const
Возвращает true если запись в map, на которую указывает этот итератор, находится до или совпадает с записью, на которую указывает итератор other.
bool Iterator::operator<(const ConstIterator &other) const
bool Iterator::operator<(const Iterator &other) const
Возвращает true если запись в map, на которую указывает этот итератор, находится до записи, на которую указывает итератор other.
bool Iterator::operator!=(const ConstIterator &other) const
bool Iterator::operator!=(const Iterator &other) const
Возвращает true если other указывает на другую запись в map, чем этот итератор; в противном случае возвращает false.
См. также operator==().
bool Iterator::operator==(const ConstIterator &other) const
bool Iterator::operator==(const Iterator &other) const
Возвращает true если other указывает на ту же запись в map, что и этот итератор; в противном случае возвращает false.
См. также operator!=().
Iterator::Iterator(const Iterator &other)
Создаёт итератор как копию other.
Iterator::Iterator()
Создаёт неинициализированный итератор.
Функции, такие как key(), value() и operator++(), не должны вызываться на неинициализированном итераторе. Используйте operator=() для присвоения значения перед использованием.
См. также QCborMap::begin() и QCborMap::end().
Iterator &Iterator::operator=(const Iterator &other)
Делает этот итератор копией other и возвращает ссылку на этот итератор.
QCborValue Iterator::key() const
Возвращает ключ текущего элемента.
Нет прямого способа изменить ключ элемента с помощью итератора, хотя это можно сделать, вызвав QCborMap::erase() и затем QCborMap::insert().
См. также value().
QCborValueRef Iterator::value() const
Возвращает изменяемую ссылку на значение текущего элемента.
Вы можете изменить значение для ключа, используя value() в левой части присваивания.
Значение возвращается типа QCborValueRef, вспомогательного класса для QCborArray и QCborMap. Когда вы получаете объект типа QCborValueRef, вы можете использовать его так, как будто это ссылка на QCborValue. Если вы присваиваете ему значение, присваивание будет применено к элементу в QCborArray или QCborMap, из которого вы получили ссылку.
См. также key() и operator*().
Iterator::value_type Iterator::operator*() const
Возвращает пару, содержащую ключ текущего элемента и изменяемую ссылку на значение текущего элемента.
Второй элемент пары имеет тип QCborValueRef, вспомогательного класса для QCborArray и QCborMap. Когда вы получаете объект типа QCborValueRef, вы можете использовать его так, как будто это ссылка на QCborValue. Если вы присваиваете ему значение, присваивание будет применено к элементу в QCborArray или QCborMap, из которого вы получили ссылку.
Iterator Iterator::operator+(qsizetype j) const
Возвращает итератор на элемент, находящийся на j позиций вперёд от этого итератора. Если j отрицательное, итератор перемещается назад.
См. также operator-().
Iterator &Iterator::operator++()
Префиксный оператор ++, ++i, перемещает итератор к следующему элементу в map и возвращает этот итератор.
Вызов этой функции для QCborMap::end() приводит к неопределённым результатам.
См. также operator--().
Iterator Iterator::operator++(int)
Это перегруженная функция.
Постфиксный оператор ++, i++, перемещает итератор к следующему элементу в map и возвращает итератор на ранее текущий элемент.
Iterator &Iterator::operator+=(qsizetype j)
Перемещает итератор на j элементов вперёд. Если j отрицательное, итератор перемещается назад. Возвращает ссылку на этот итератор.
См. также operator-=() и operator+().
Iterator Iterator::operator-(qsizetype j) const
Возвращает итератор на элемент, находящийся на j позиций назад от этого итератора. Если j отрицательное, итератор перемещается вперёд.
См. также operator+().
qsizetype Iterator::operator-(Iterator j) const
Возвращает позицию элемента, на который указывает итератор j, относительно элемента, на который указывает этот итератор. Если элемент по итератору j находится вперёд от текущего, возвращаемое значение отрицательное.
См. также operator+().
Iterator &Iterator::operator--()
Префиксный оператор --, --i, делает предыдущий элемент текущим и возвращает этот итератор.
Вызов этой функции для QCborMap::begin() приводит к неопределённым результатам.
См. также operator++().
Iterator Iterator::operator--(int)
Это перегруженная функция.
Постфиксный оператор --, i--, делает предыдущий элемент текущим и возвращает итератор на ранее текущий элемент.
Iterator &Iterator::operator-=(qsizetype j)
Перемещает итератор назад на j элементов. Если j отрицательное, итератор перемещается вперёд. Возвращает ссылку на этот итератор.
См. также operator+=() и operator-().
QCborValueRef *Iterator::operator->() const
Возвращает указатель на изменяемую ссылку на значение текущей пары.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.0/qcbormap-iterator.html