QIterator Struct
template <typename Container> struct QIteratorQIterator 是一个模板类,允许在QVariant 中对容器进行迭代。更多内容...
| 头文件: | #include <QIterator> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Core) target_link_libraries(mytarget PRIVATE Qt6::Core) |
| qmake: | QT += core |
| 自: | Qt 6.0 |
| 继承自: | QBaseIterator |
| 被继承于: | QMetaAssociation::Iterable::Iterator 以及QMetaSequence::Iterable::Iterator |
公共函数
| QIterator(QIterable<Container> *iterable, void *iterator) | |
| bool | operator!=(const QIterator<Container> &other) const |
| QIterator<Container> | operator+(qsizetype j) const |
| QIterator<Container> & | operator++() |
| QIterator<Container> | operator++(int) |
| QIterator<Container> & | operator+=(qsizetype j) |
| QIterator<Container> | operator-(qsizetype j) const |
| qsizetype | operator-(const QIterator<Container> &j) const |
| QIterator<Container> & | operator--() |
| QIterator<Container> | operator--(int) |
| QIterator<Container> & | operator-=(qsizetype j) |
| bool | operator==(const QIterator<Container> &other) const |
相关的非成员
| QIterator<Container> | operator+(qsizetype j, const QIterator<Container> &k) |
详细描述
QIterator<Container> 提供对容器的可变迭代,其中Container 是定义容器迭代能力的元类型描述符(可以是QMetaSequence 或QMetaAssociation )。
QIterator 只能由QIterable 实例创建,其使用方式与其他 STL 风格的迭代器类似。通常,不应直接使用 QIterator,而应通过QMetaSequence::Iterable 和QMetaAssociation::Iterable 提供的其派生类来使用。
另请参阅 QIterable 。
成员函数文档
[explicit] QIterator::QIterator(QIterable<Container> *iterable, void *iterator)
根据一个iterable 和一个指向原生iterator 的指针,创建一个迭代器。
bool QIterator::operator!=(const QIterator<Container> &other) const
如果 `other ` 指向的项与该迭代器指向的项不同,则返回 `true `;否则返回 `false`。
另请参阅 operator==()。
QIterator<Container> QIterator::operator+(qsizetype j) const
返回一个迭代器,该迭代器指向距离当前迭代器向前j 个位置处的项。
另请参见 operator-() 和operator+=()。
QIterator<Container> &QIterator::operator++()
前缀运算符++ (++it )将迭代器向前移动到容器中的下一个元素,并返回指向新当前元素的迭代器。
在 QMetaSequence::Iterable::constEnd() 上调用此函数将导致未定义的结果。
另请参阅 operator--()。
QIterator<Container> QIterator::operator++(int)
后缀运算符++ (it++ )将迭代器向前移动到容器中的下一个元素,并返回指向先前当前元素的迭代器。
这是一个重载函数。
QIterator<Container> &QIterator::operator+=(qsizetype j)
将迭代器向前移动j 个项目。
另请参见 operator-=() 和operator+()。
QIterator<Container> QIterator::operator-(qsizetype j) const
返回一个迭代器,该迭代器指向从当前迭代器向后j 个位置处的项目。
如果QVariant 中的容器不支持双向迭代,调用此函数将导致未定义的结果。
另请参阅 operator+()、operator-=() 和QIterable::canReverseIterate()。
qsizetype QIterator::operator-(const QIterator<Container> &j) const
返回两个迭代器之间的距离。
这是一个重载函数。
另请参阅 operator+()、operator-=(),以及QIterable::canReverseIterate()。
QIterator<Container> &QIterator::operator--()
前缀运算符-- (--it )将前一个元素设为当前元素,并返回指向新当前元素的迭代器。
在 QMetaSequence::Iterable::constBegin() 上调用此函数将导致未定义的结果。
如果QVariant 中的容器不支持双向迭代,调用此函数将导致未定义的结果。
另请参阅 operator++() 和QIterable::canReverseIterate()。
QIterator<Container> QIterator::operator--(int)
后缀运算符-- (it-- )将前一个元素设为当前元素,并返回指向先前当前元素的迭代器。
如果 `QVariant ` 中的容器不支持双向迭代,调用此函数将导致未定义的结果。
这是一个重载函数。
另请参阅 QIterable::canReverseIterate()。
QIterator<Container> &QIterator::operator-=(qsizetype j)
使迭代器向后移动j 个项目。
如果 `QVariant ` 中的容器不支持双向迭代,调用此函数将导致未定义的结果。
另请参见 operator+=()、operator-() 和QIterable::canReverseIterate()。
bool QIterator::operator==(const QIterator<Container> &other) const
如果 `other ` 指向与该迭代器相同的项,则返回 `true `;否则返回 `false`。
另请参阅 operator!=()。
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.