Класс Iterator
класс QCborMap::IteratorКласс QCborMap::Iterator предоставляет итератор в стиле STL для QCborMap. Подробнее...
Этот класс был добавлен в Qt 5.12.
Открытые типы
| typedef | 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() перед началом перебора.
Можно использовать несколько итераторов для одного объекта. Однако существующие итераторы станут висящими (dangling), если объект будет изменен.
См. также QCborMap::ConstIterator.
Документация по типам членов
typedef 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, перемещает итератор к следующему элементу в массиве и возвращает этот итератор.
Вызов этой функции для QCborMap::end() приводит к неопределённому результату.
См. также operator--().
Iterator Iterator::operator++(int)
Это перегруженная функция.
Постфиксный оператор ++, i++, перемещает итератор к следующему элементу в массиве и возвращает итератор на предыдущий текущий элемент.
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-5.15/qcbormap-iterator.html