迭代器类
类 QCborMap::IteratorQCborMap::Iterator 类提供一个 STL 风格的非常量迭代器,用于 QCborMap。更多...
- 所有成员列表,包括继承成员
- 迭代器是 Qt 中 CBOR 支持的一部分。
公共类型
公共函数
迭代器() | |
Iterator(const QCborMap::Iterator &other) | |
QCborValue | key() const |
QCborValueRef | value() const |
bool | operator!=(const QCborMap::Iterator &other) const |
bool | operator!=(const QCborMap::ConstIterator &other) const |
QCborMap::Iterator::value_type | operator*() const |
QCborMap::Iterator | operator+(qsizetype j) const |
QCborMap::Iterator & | operator++() |
QCborMap::Iterator | operator++(int) |
QCborMap::Iterator & | operator+=(qsizetype j) |
QCborMap::Iterator | operator-(qsizetype j) const |
qsizetype | operator-(QCborMap::Iterator j) const |
QCborMap::Iterator & | operator--() |
QCborMap::Iterator | operator--(int) |
QCborMap::Iterator & | operator-=(qsizetype j) |
const QCborValueConstRef * | operator->() const |
bool | operator<(const QCborMap::Iterator &other) const |
bool | operator<(const QCborMap::ConstIterator &other) const |
bool | operator<=(const QCborMap::Iterator &other) const |
bool | operator<=(const QCborMap::ConstIterator &other) const |
QCborMap::Iterator & | operator=(const QCborMap::Iterator &other) |
bool | operator==(const QCborMap::Iterator &other) const |
bool | operator==(const QCborMap::ConstIterator &other) const |
bool | operator>(const QCborMap::Iterator &other) const |
bool | operator>(const QCborMap::ConstIterator &other) const |
bool | operator>=(const QCborMap::Iterator &other) const |
bool | operator>=(const QCborMap::ConstIterator &other) const |
详细描述
QCborMap::Iterator 允许您遍历一个 QCborMap 并修改特定键下存储的值(但不能修改键)。如果您想遍历一个 const QCborMap,应该使用 QCborMap::ConstIterator。在非 const QCborMap 上使用 QCborMap::ConstIterator 也是一种通常的好做法,除非您需要通过迭代器更改 QCborMap。常量迭代器会稍微快一些,并且可以提高代码可读性。
在开始遍历之前,您必须使用类似于 QCborMap::begin()、QCborMap::end 或 QCborMap::find() 的 QCborMap 函数初始化迭代器。
可以在同一对象上使用多个迭代器。但是,一旦对象被修改,现有迭代器将变为悬空指针。
另请参阅 QCborMap::ConstIterator。
成员函数文档
bool Iterator::operator==(const QCborMap::ConstIterator &other) const
bool Iterator::operator==(const QCborMap::Iterator &other) const
如果 other 指向在映射中与当前迭代器相同的条目,则返回 true
;否则返回 false
。
另请参阅 operator!=。
bool Iterator::operator!=(const QCborMap::ConstIterator &other) const
bool Iterator::operator!=(const QCborMap::Iterator &other) const
如果 other 指向与当前迭代器不同的映射条目,则返回 true
;否则返回 false
。
另请参阅 operator==。
bool Iterator::operator<(const QCborMap::ConstIterator &other) const
bool Iterator::operator<(const QCborMap::Iterator &other) const
如果由当前迭代器指向的映射条目早于 other 迭代器指向的条目,则返回 true
。
bool Iterator::operator<=(const QCborMap::ConstIterator &other) const
bool Iterator::operator<=(const QCborMap::Iterator &other) const
如果由当前迭代器指向的映射条目早于或等于 other 迭代器指向的条目,则返回 true
。
布尔型 Iterator::大于(const QCborMap::ConstIterator &其他) const
布尔型 Iterator::大于(const QCborMap::Iterator &其他) const
如果此迭代器指向的地图条目在其他迭代器指向的条目之后,则返回true
。
布尔型 Iterator::大于等于(const QCborMap::ConstIterator &其他) const
布尔型 Iterator::大于等于(const QCborMap::Iterator &其他) const
如果此迭代器指向的地图条目在其他迭代器指向的条目之后或相同,则返回true
。
[constexpr noexcept]
Iterator::构造函数()
创建一个未初始化的迭代器。
不能在未初始化的迭代器上调用
有关更多信息,请参阅QCborMap::begin()和QCborMap::end。
[constexpr noexcept]
Iterator::拷贝构造函数(const QCborMap::Iterator &其他)
将迭代器作为其他的拷贝构造。
QCborValue Iterator::key() const
返回当前项的键。
没有直接通过迭代器修改项键的方法,尽管可以通过调用
有关更多信息,请参阅value。
QCborValueRef Iterator::value() const
返回当前项值的可修改引用。
您可以通过在赋值运算符的左侧使用value()来改变键的值。
返回值为类型QCborValue的引用,是一种辅助类,用于QCborArray和QCborMap。获取到这个引用的对象时,您可以用它来当作QCborValue的引用来使用。如果您对它进行赋值,赋值会应用于从QCborArray或QCborMap获取的引用中的元素。
QCborMap::Iterator::value_type Iterator::operator*() const
返回一个包含当前项键和当前项值可修改引用的元组。
对的第二个元素是QCborValueRef类型,这是用于QCborArray和QCborMap的一个辅助类。当得到一个QCborValueRef类型的对象时,你可以将其当作对QCborValue的引用来使用。如果对其进行赋值,赋值将作用于从QCborArray或QCborMap中获取引用的元素。
QCborMap::Iterator Iterator::operator+(qsizetype j) const
返回一个指向距离此迭代器j个位置的项目的迭代器。如果j为负值,则迭代器向后移动。
另请参阅 operator-()。
QCborMap::Iterator &Iterator::operator++()
前缀操作符++,例如,++i,将迭代器向前移动到映射中的下一个项目,并返回此迭代器。
在QCborMap::end()上调用此函数会导致未定义的结果。
另请参阅 operator--()。
QCborMap::Iterator Iterator::operator++(int)
这是一个重载的函数。
后缀操作符++,例如,i++,将迭代器向前移动到映射中的下一个项目,并返回对之前当前项目的迭代器。
QCborMap::Iterator &Iterator::operator+=(qsizetype j)
通过j个项目移动迭代器。如果j为负值,则迭代器向后移动。返回此迭代器的引用。
另请参阅 operator-=()和operator+()。
QCborMap::Iterator Iterator::operator-(qsizetype j) const
返回一个指向距离此迭代器j个位置的项目的迭代器。如果j为负值,则迭代器向前移动。
另请参阅 operator+()。
qsizetype Iterator::operator-(QCborMap::Iterator j) const
返回相对于此迭代器的项目迭代器j的位置。如果项目迭代器j位于当前项目之前,则返回值为负。
另请参阅 operator+()。
QCborMap::Iterator &Iterator::operator--()
前缀操作符--,例如,--i,将前一个项目设为当前项目,并返回此迭代器。
在QCborMap::begin()上调用此函数会导致未定义的结果。
另请参阅 operator++()。
QCborMap::Iterator Iterator::operator--(int)
这是一个重载的函数。
后缀操作符--,例如,i--,将前一个项目设为当前项目,并返回指向之前当前项目的迭代器。
QCborMap::Iterator &Iterator::operator-=(qsizetype j)
使迭代器向后移动j项。如果j是负数,则迭代器向前移动。返回对此迭代器的引用。
另请参阅operator+=()和operator-()。
const QCborValueConstRef *Iterator::operator->() const
返回对当前对价值可修改引用的指针。
QCborMap::Iterator &Iterator::operator=(const QCborMap::Iterator &other)
将此迭代器设置为other的副本,并返回对此迭代器的引用。
© 2024 Qt公司有限公司。此处包含的文档贡献是各自所有者的版权。本处的文档许可协议根据自由软件基金会发布的GNU自由文档许可版本1.3条款。Qt及其相关标志是芬兰和/或世界其他国家的Qt公司商标。所有其他商标均为其各自所有者的财产。