Spec-Zone.ru › Qt 5.12

Класс Iterator

(QCborMap::Iterator)

Класс QCborMap::Iterator предоставляет итератор в стиле STL для QCborMap. Подробнее...

Заголовок: #include <Iterator>
qmake: QT += core
С момента: Qt 5.12
  • Список всех членов, включая наследуемые

Типы публичного доступа

typedef iterator_category

Функции публичного доступа

Iterator()
Iterator(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
Iterator & operator=(const Iterator &other)
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 предоставляет итератор в стиле STL для QCborMap.

QCborMap::Iterator позволяет итерироваться по QCborMap и изменять значение (но не ключ) хранящийся под определенным ключом. Если вы хотите итерироваться по константной QCborMap, используйте QCborMap::ConstIterator. В целом, рекомендуется использовать QCborMap::ConstIterator и для неконстантной QCborMap, если вам не нужно изменять QCborMap через итератор. Константные итераторы немного быстрее и улучшают читабельность кода.

Итератор должен быть инициализирован с использованием функции QCborMap, такой как QCborMap::begin(), QCborMap::end() или QCborMap::find(), прежде чем вы начнете итерацию.

Несколько итераторов могут быть использованы с одним объектом. Однако существующие итераторы станут висячими, как только объект будет изменён.

См. также QCborMap::ConstIterator.

Документация по типам членов

typedef Iterator::iterator_category

Синоним для std::random_access_iterator_tag, указывающий, что этот итератор является итератором произвольного доступа.

Документация по функциям членов

bool Iterator::operator>=(const Iterator &other) const

bool Iterator::operator>=(const ConstIterator &other) const

Возвращает true если запись в карте, на которую указывает этот итератор, располагается после или совпадает с записью, на которую указывает итератор other.

bool Iterator::operator>(const Iterator &other) const

bool Iterator::operator>(const ConstIterator &other) const

Возвращает true если запись в карте, на которую указывает этот итератор, располагается после записи, на которую указывает итератор other.

bool Iterator::operator<=(const Iterator &other) const

bool Iterator::operator<=(const ConstIterator &other) const

Возвращает true если запись в карте, на которую указывает этот итератор, располагается до или совпадает с записью, на которую указывает итератор other.

bool Iterator::operator<(const Iterator &other) const

bool Iterator::operator<(const ConstIterator &other) const

Возвращает true если запись в карте, на которую указывает этот итератор, располагается до записи, на которую указывает итератор other.

bool Iterator::operator!=(const Iterator &other) const

bool Iterator::operator!=(const ConstIterator &other) const

Возвращает true если other указывает на другую запись в карте, чем этот итератор; в противном случае возвращает false.

См. также operator==().

bool Iterator::operator==(const Iterator &other) const

bool Iterator::operator==(const ConstIterator &other) const

Возвращает true если other указывает на ту же запись в map, что и этот итератор; в противном случае возвращает false.

См. также operator!=().

Iterator::Iterator()

Создаёт неинициализированный итератор.

Функции, такие как key(), value() и operator++(), не должны вызываться для неинициализированного итератора. Используйте оператор = для присваивания значения перед использованием.

См. также QCborMap::begin() и QCborMap::end().

Iterator::Iterator(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, из которого вы получили ссылку.

См. также key() и value().

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

Возвращает указатель на изменяемую ссылку на значение текущей пары.

Iterator &Iterator::operator=(const Iterator &other)

Делает этот итератор копией other и возвращает ссылку на этот итератор.

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.12/qcbormap-iterator.html

Spec-Zone.ru

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