Класс Iterator
класс QCborMap::IteratorКласс QCborMap::Iterator предоставляет итератор STL-стиля без модификатора const для QCborMap. Подробнее...
Этот класс был добавлен в Qt 5.12.
Типы public
| iterator_category |
Функции public
| 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 если элемент в карте, на который указывает этот итератор, находится после или совпадает с элементом, на который указывает итератор 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()
Создаёт неинициализированный итератор.
Функции, такие как 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.2/qcbormap-iterator.html