QTaggedIterator 类
template <typename Iterator, typename IteratorCategory> class QTaggedIteratorQTaggedIterator 是一个模板类,它封装了一个迭代器并公开了标准迭代器特性。 更多...
头文件 | #include <QTaggedIterator> |
CMake | find_package(Qt6 REQUIRED COMPONENTS Core) target_link_libraries(mytarget PRIVATE Qt6::Core) |
qmake | QT += core |
自 | Qt 6.0 |
公共函数
QTaggedIterator(Iterator &&it) | |
bool | operator!=(const QTaggedIterator<Iterator, IteratorCategory> &other) const |
QTaggedIterator<Iterator, IteratorCategory> | operator+(qsizetype j) const |
QTaggedIterator<Iterator, IteratorCategory> & | operator++() |
QTaggedIterator<Iterator, IteratorCategory> | operator++(int x) |
QTaggedIterator<Iterator, IteratorCategory> & | operator+=(qsizetype j) |
QTaggedIterator<Iterator, IteratorCategory> | operator-(qsizetype j) const |
qsizetype | operator-(const QTaggedIterator<Iterator, IteratorCategory> &j) const |
QTaggedIterator<Iterator, IteratorCategory> & | operator--() |
QTaggedIterator<Iterator, IteratorCategory> | operator--(int x) |
QTaggedIterator<Iterator, IteratorCategory> & | operator-=(qsizetype j) |
bool | operator==(const QTaggedIterator<Iterator, IteratorCategory> &other) const |
相关非成员函数
QTaggedIterator<Iterator, IteratorCategory> | operator+(qsizetype j, const QTaggedIterator<Iterator, IteratorCategory> &k) |
详细描述
为了使用任何标准算法的迭代器,其迭代器特性需要已知。由于 QSequentialIterable 可以与许多不同类型的容器一起工作,我们无法在迭代器类本身中声明特性。QTaggedIterator 为迭代器或 QConstIterator 的具体实例声明特性提供了一个方法。
成员函数文档
QTaggedIterator::QTaggedIterator(Iterator &&it)
从一个迭代器或 QConstIterator it 构造一个 QTaggedIterator。检查模板参数中传递的 IteratorCategory 是否与 it 的运行时功能匹配;如果不匹配,则拒绝 it。
bool QTaggedIterator::operator!=(const QTaggedIterator<Iterator, IteratorCategory> &other) const
如果其他迭代器指向不同于当前迭代器的项目,则返回 true
;否则返回 false
。
参见操作符==()。
QTaggedIterator<Iterator, IteratorCategory> QTaggedIterator::operator+(qsizetype j) const
返回指向从当前迭代器出发的前进j位置处的项目的迭代器。
QTaggedIterator<Iterator, IteratorCategory> &QTaggedIterator::operator++()
前缀 ++
操作符 (++it
) 将迭代器推进到容器中的下一个项目,并返回对新当前项的迭代器。
在 QSequentialIterable::end() 上调用此函数会导致未定义的结果。
参见操作符--()。
QTaggedIterator<Iterator, IteratorCategory> QTaggedIterator::operator++(int x)
这是一个重载函数。
后缀 ++
操作符 (it++
) 将迭代器推进到容器中的下一个项目,并返回对先前当前项的迭代器。
QTaggedIterator<Iterator, IteratorCategory> &QTaggedIterator::operator+=(qsizetype j)
将迭代器向前推进j个项目。
QTaggedIterator<Iterator, IteratorCategory> QTaggedIterator::operator-(qsizetype j) const
返回指向相对当前迭代器后退j位置处的项目的迭代器。
如果容器中不包含在 QVariant 中的双向迭代支持,调用此函数会导致未定义的结果。
参见操作符+(),操作符-=() 和 QIterable::canReverseIterate()。
qsizetype QTaggedIterator::operator-(const QTaggedIterator<Iterator, IteratorCategory> &j) const
返回此迭代器与 j 之间的距离。
参见操作符+(),操作符-=() 和 QIterable::canReverseIterate()。
QTaggedIterator<Iterator, IteratorCategory> &QTaggedIterator::operator--()
前缀 --
操作符 (--it
) 使得前一个项目成为当前项目,并返回对新当前项目的迭代器。
在 QSequentialIterable::begin() 上调用此函数会导致未定义的结果。
如果容器中不包含在 QVariant 中的双向迭代支持,调用此函数会导致未定义的结果。
参见操作符++() 和 QIterable::canReverseIterate()。
QTaggedIterator<Iterator, IteratorCategory> QTaggedIterator::operator--(int x)
这是一个重载函数。
后缀操作符 --
(it--
)将前面的项目设置为当前元素,并返回一个指向先前当前元素的迭代器。
如果容器中不包含在 QVariant 中的双向迭代支持,调用此函数会导致未定义的结果。
另请参阅 QIterable::canReverseIterate。
QTaggedIterator<Iterator, IteratorCategory> &QTaggedIterator::operator-=(qsizetype j)
将迭代器向后移动 j 个元素。
如果容器中不包含在 QVariant 中的双向迭代支持,调用此函数会导致未定义的结果。
另请参阅 operator+=)、operator-)和 QIterable::canReverseIterate。
bool QTaggedIterator::operator==(const QTaggedIterator<Iterator, IteratorCategory> &other) const
如果 other 指向与该迭代器相同的元素,则返回 true
;否则返回 false
。
另请参阅 operator!=。
相关非成员
QTaggedIterator<Iterator, IteratorCategory> operator+(qsizetype j, const QTaggedIterator<Iterator, IteratorCategory> &k)
返回一个指向从迭代器 k 开始向前移动 j 个位置的元素的迭代器。
© 2024 The Qt Company Ltd. 本文档中的文档贡献是各自所有者的版权。此处提供的文档是根据自由软件基金会的GNU自由文档许可证版本1.3的条款许可的。Qt以及相应的标志是芬兰和/或其他国家The Qt Company Ltd的商标。所有其他商标均为其各自所有者的财产。