Структура const_iterator
Структура const_iterator объявлена в классе QSequentialIterable.Итератор QSequentialIterable::const_iterator позволяет итерироваться по контейнеру в QVariant. Подробнее...
Эта структура была добавлена в Qt 5.2.
Открытые функции
| const_iterator(const const_iterator& other) | |
| const_iterator& | operator=(const const_iterator& other) |
| ~const_iterator() | |
| bool | operator!=(const const_iterator& other) const |
| const QVariant | operator*() const |
| const_iterator | operator+(int j) const |
| const_iterator& | operator++() |
| const_iterator | operator++(int) |
| const_iterator& | operator+=(int j) |
| const_iterator | operator-(int j) const |
| const_iterator& | operator--() |
| const_iterator | operator--(int) |
| const_iterator& | operator-=(int j) |
| bool | operator==(const const_iterator& other) const |
Подробное описание
QSequentialIterable::const_iterator может быть создан только экземпляром QSequentialIterable и может использоваться аналогично другим итераторам в стиле STL.
QList<int> intList = {7, 11, 42};
QVariant variant = QVariant::fromValue(intList);
if (variant.canConvert<QVariantList>()) {
QSequentialIterable iterable = variant.value<QSequentialIterable>();
// Can use foreach:
foreach (const QVariant &v, iterable) {
qDebug() << v;
}
// Can use C++11 range-for:
for (const QVariant &v : iterable) {
qDebug() << v;
}
// Can use iterators:
QSequentialIterable::const_iterator it = iterable.begin();
const QSequentialIterable::const_iterator end = iterable.end();
for ( ; it != end; ++it) {
qDebug() << *it;
}
}См. также QSequentialIterable.
Документация по членам-функциям
const_iterator::const_iterator(const const_iterator& other)
Создаёт копию other.
const_iterator& const_iterator::operator=(const const_iterator& other)
Присваивает other текущему объекту.
const_iterator::~const_iterator()
Удаляет QSequentialIterable::const_iterator.
bool const_iterator::operator!=(const const_iterator& other) const
Возвращает значение true, если other указывает на другой элемент, чем текущий итератор; в противном случае возвращает false.
См. также operator==().
const QVariant const_iterator::operator*() const
Возвращает текущий элемент, преобразованный в QVariant.
const_iterator const_iterator::operator+(int j) const
Возвращает итератор на элемент, находящийся на j позиций вперёд от текущего итератора.
См. также operator-() и operator+=().
const_iterator& const_iterator::operator++()
Префиксный оператор ++ (++it) сдвигает итератор к следующему элементу в контейнере и возвращает итератор на новый текущий элемент.
Вызов этой функции для QSequentialIterable::end() приведёт к неопределённому результату.
См. также operator--().
const_iterator const_iterator::operator++(int)
Это перегруженная функция.
Постфиксный оператор ++ (it++) сдвигает итератор к следующему элементу в контейнере и возвращает итератор на предыдущий текущий элемент.
const_iterator& const_iterator::operator+=(int j)
Сдвигает итератор на j элементов вперёд.
См. также operator-=() и operator+().
const_iterator const_iterator::operator-(int j) const
Возвращает итератор на элемент, находящийся на j позиций назад от текущего итератора.
Если контейнер в QVariant не поддерживает двунаправленную итерацию, вызов этой функции приводит к неопределённому результату.
См. также operator+(), operator-=(), и canReverseIterate().
const_iterator& const_iterator::operator--()
Префиксный оператор -- (--it) делает предыдущий элемент текущим и возвращает итератор на новый текущий элемент.
Вызов этой функции для QSequentialIterable::begin() приведёт к неопределённому результату.
Если контейнер в QVariant не поддерживает двунаправленную итерацию, вызов этой функции приводит к неопределённому результату.
См. также operator++() и canReverseIterate().
const_iterator const_iterator::operator--(int)
Это перегруженная функция.
Постфиксный оператор -- (it--) делает предыдущий элемент текущим и возвращает итератор на предыдущий текущий элемент.
Если контейнер в QVariant не поддерживает двунаправленную итерацию, вызов этой функции приводит к неопределённому результату.
См. также canReverseIterate().
const_iterator& const_iterator::operator-=(int j)
Перемещает итератор назад на j элементов.
Если контейнер в QVariant не поддерживает двунаправленную итерацию, вызов этой функции приводит к неопределённому результату.
См. также operator+=(), operator-(), и canReverseIterate().
bool const_iterator::operator==(const const_iterator& other) const
Возвращает true, если other указывает на тот же элемент, что и текущий итератор; в противном случае возвращает false.
См. также operator!=().
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.13/qsequentialiterable-const-iterator.html