Класс 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 и изменять значение (но не ключ), хранящееся под определённым ключом. Если вы хотите итерироваться по const QCborMap, вы должны использовать QCborMap::ConstIterator. Как правило, рекомендуется использовать QCborMap::ConstIterator даже с не-константным QCborMap, за исключением случаев, когда вам необходимо изменить QCborMap через итератор. Const итераторы немного быстрее и улучшают читаемость кода.
Вы должны инициализировать итератор с помощью функции 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, перемещает итератор к следующему элементу в отображении и возвращает этот итератор.
Вызов этой функции для 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-6.1/qcbormap-iterator.html