QCborArray 类
QCborArray 类用于存储 CBOR 元素数组。更多...
头文件 | #include <QCborArray> |
CMake | find_package(Qt6 REQUIRED COMPONENTS Core) target_link_libraries(mytarget PRIVATE Qt6::Core) |
qmake | QT += core |
- 所有成员列表,包括继承的成员
- QCborArray 是 Qt 中 CBOR 支持的一部分。Qt 中 CBOR 支持.
提示: 此类中所有函数都是可重入的。
公共类型
类 | ConstIterator |
类 | Iterator |
const_iterator | |
const_pointer | |
const_reference | |
difference_type | |
iterator | |
pointer | |
reference | |
size_type | |
value_type |
公共函数
QCborArray() | |
QCborArray(std::initializer_list<QCborValue> args) | |
QCborArray(const QCborArray &other) | |
~QCborArray() | |
void | append(const QCborValue &value) |
void | append(QCborValue &&value) |
QCborValue | at(qsizetype i) const |
QCborArray::iterator | begin() |
QCborArray::const_iterator | begin() const |
QCborArray::const_iterator | cbegin() const |
QCborArray::const_iterator | cend() const |
void | clear() |
int | compare(const QCborArray &other) const |
QCborArray::const_iterator | constBegin() const |
QCborArray::const_iterator | constEnd() const |
bool | contains(const QCborValue &value) const |
bool | empty() const |
QCborArray::iterator | end() |
QCborArray::const_iterator | end() const |
QCborArray::iterator | erase(QCborArray::iterator it) |
QCborArray::iterator | erase(QCborArray::const_iterator it) |
QCborValue | extract(QCborArray::ConstIterator it) |
QCborValue | extract(QCborArray::Iterator it) |
QCborValue | first() const |
QCborValueRef | first() |
void | insert(qsizetype i, const QCborValue &value) |
void | insert(qsizetype i, QCborValue &&value) |
QCborArray::iterator | insert(QCborArray::iterator before, const QCborValue &value) |
QCborArray::iterator | insert(QCborArray::const_iterator before, const QCborValue &value) |
bool | isEmpty() const |
QCborValue | last() const |
QCborValueRef | 上一个() |
void | pop_back() |
void | pop_front() |
void | prepend(const QCborValue &value)(const QCborValue &value) |
void | prepend(QCborValue &&value) (QCborValue &&value) |
void | push_back(const QCborValue &t)(const QCborValue &t) |
void | push_front(const QCborValue &t)(const QCborValue &t) |
void | removeAt(qsizetype i)(qsizetype i) |
void | removeFirst() |
void | removeLast() |
qsizetype | size() const |
void | swap(QCborArray &other)(QCborArray &other) |
QCborValue | takeAt(qsizetype i)(qsizetype i) |
QCborValue | takeFirst() |
QCborValue | takeLast() |
QCborValue | toCborValue() const |
QJsonArray | toJsonArray() const |
QVariantList | toVariantList() const |
bool | operator!=(const QCborArray &other)(const QCborArray &other) const |
QCborArray | operator+(const QCborValue &v)(const QCborValue &v) const |
QCborArray & | operator+=(const QCborValue &v) |
bool | operator<(const QCborArray &other)(const QCborArray &other) const |
QCborArray & | operator<<(const QCborValue &v)(const QCborValue &v) |
QCborArray & | operator=(const QCborArray &other)(const QCborArray &other) |
bool | operator==(const QCborArray &other)(const QCborArray &other) const |
const QCborValue | operator[](qsizetype i)(qsizetype i) const |
QCborValueRef | operator[](qsizetype i)(qsizetype i) |
静态公共成员
QCborArray | fromJsonArray(const QJsonArray &array)(const QJsonArray &array) |
(自 6.3) QCborArray | fromJsonArray(QJsonArray &&array)(QJsonArray &&array) |
QCborArray | fromStringList(const QStringList &list)(const QStringList &list) |
QCborArray | fromVariantList(const QVariantList &list)(const QVariantList &list) |
详细描述
此类可用于在CBOR(一个数组)中保存一个序列容器。CBOR是紧凑的二进制对象表示,是一种非常紧凑的二进制数据编码形式,它是JSON的超集。它由IETF约束RESTful环境(CoRE)工作组创建,该工作组已将其用于许多新的RFC。它旨在与CoAP协议一起使用。
QCborArray与QVariantList和QJsonArray非常相似,其API几乎与这两个类相同。它还可以将它们转换成这两种,尽管在某些转换中可能会丢失一些信息。
另请参阅QCborValue、QCborMap、QJsonArray、QList、解析和显示CBOR数据、序列化转换器和保存和加载游戏。
成员类型文档
QCborArray::const_iterator
A synonym to QCborArray::ConstIterator.
QCborArray::const_pointer
A typedef to const QCborValue *
, for compatibility with generic algorithms.
QCborArray::const_reference
一个类型定义,指向const QCborValue,与通用算法的兼容性。
QCborArray::difference_type
到qsizetype的类型定义。
QCborArray::iterator
与QCborArray::Iterator的同义词。
QCborArray::pointer
到QCborValue *的类型定义,用于与通用算法的兼容性。
QCborArray::reference
到QCborValue &的类型定义,用于与通用算法的兼容性。
QCborArray::size_type
到qsizetype的类型定义。
QCborArray::value_type
可以在QCborArray中存储的值的类型:即QCborValue。
成员函数文档
void QCborArray::insert(qsizetype i, QCborValue &&value)
void QCborArray::insert(qsizetype i, const QCborValue &value)
将value插入到该数组中位于i的位置。如果i为-1,条目将附加到数组中。如果i大于数组的先前大小,则使用无效条目填充数组。
另请参阅 at()、operator[]()、first()、last()、prepend()、append()、removeAt()和takeAt()。
QCborValue QCborArray::extract(QCborArray::ConstIterator it)
QCborValue QCborArray::extract(QCborArray::Iterator it)
从数组中提取由迭代器it指示的值,并返回提取的值。
另请参阅 insert()、erase()、takeAt()和removeAt。
void QCborArray::prepend(QCborValue &&value)
void QCborArray::prepend(const QCborValue &value)
在数组中任何其他元素之前将value添加到数组中。
另请参阅 at()、operator[]()、first()、last()、insert()、append()、removeAt()和takeAt。
void QCborArray::append(QCborValue &&value)
void QCborArray::append(const QCborValue &value)
将 value 添加到数组中,该数组可能已经包含其他所有元素。
另请参阅 at(),operator[](),first(),last(),insert(),prepend(),removeAt() 以及 takeAt。
QCborArray::iterator QCborArray::insert(QCborArray::const_iterator before, const QCborValue &value)
QCborArray::iterator QCborArray::insert(QCborArray::iterator before, const QCborValue &value)
这是一个重载函数。
在元素 before 之前将 value 插入此数组中,并返回一个指向新插入元素的数组迭代器。
另请参阅 erase,removeAt,prepend,以及 append。
QCborArray::iterator QCborArray::erase(QCborArray::const_iterator it)
QCborArray::iterator QCborArray::erase(QCborArray::iterator it)
从数组中移除由数组迭代器 it 所指的元素,然后返回一个指向下一个元素(在数组中占据与 it 旧位置相同的元素)的迭代器。
另请参阅 insert,removeAt,takeAt,takeFirst,以及 takeLast。
[noexcept]
QCborArray::QCborArray()
构造一个空的 QCborArray。
QCborArray::QCborArray(std::initializer_list<QCborValue> args)
从 args 中找到的 C++ 划括号列表初始化此 QCborArray,如下例所示
QCborArray a = { null, 0, 1, 1.5, 2, "Hello", QByteArray("World") };
[noexcept]
QCborArray::QCborArray(const QCborArray &other)
将 other 的内容复制到该对象中。
[noexcept]
QCborArray::~QCborArray()
销毁此 QCborArray 并释放任何相关的资源。
QCborValue QCborArray::at(qsizetype i) const
返回数组的第i个位置的QCborValue元素。
如果数组中小于i个元素,此函数返回一个包含未定义值的QCborValue。因此,使用此函数无法区分数组大小不足的情况和数组以未定义值开头的情况。
另请参阅operator[]()、first()、last()、insert()、prepend()、append()、removeAt()和takeAt。
QCborArray::iterator QCborArray::begin()
返回一个指向数组第一个元素的数组迭代器。如果数组为空,则此函数返回与end()相同的结果。
另请参阅constBegin() 和 end。
QCborArray::const_iterator QCborArray::begin() const
返回一个指向数组第一个元素的数组迭代器。如果数组为空,则此函数返回与end()相同的结果。
另请参阅constBegin() 和 constEnd。
QCborArray::const_iterator QCborArray::cbegin() const
返回一个指向数组第一个元素的数组迭代器。如果数组为空,则此函数返回与end()相同的结果。
另请参阅constBegin() 和 constEnd。
QCborArray::const_iterator QCborArray::cend() const
返回一个指向数组最后一个元素之后的数组迭代器。
另请参阅constBegin() 和 constEnd。
void QCborArray::clear()
清空此数组。
另请参阅isEmpty。
[noexcept]
int QCborArray::compare(const QCborArray &other) const
比较此数组与other,逐个比较每个元素,并返回一个整数,指示是否应对此数组进行排序以(如果结果为负)在other之前或之后(如果结果为正)。如果此函数返回0,则两个数组相等且包含相同元素。
有关CBOR排序顺序的更多信息,请参阅QCborValue::compare。
另请参阅QCborValue::compare、QCborMap::compare和operator==。
QCborArray::const_iterator QCborArray::constBegin() const
返回一个指向数组第一个元素的数组迭代器。如果数组为空,则此函数返回与end()相同的结果。
QCborArray::const_iterator QCborArray::constEnd() const
返回一个指向数组最后一个元素之后的数组迭代器。
另请参阅constBegin() 和 end。
bool QCborArray::contains(const QCborValue &value) const
如果此数组包含等于value的元素,则返回true。
bool QCborArray::empty() const
isEmpty()的同义词。此函数提供是为了与使用标准库API的通用代码兼容。
如果此数组为空,则返回true(size() == 0)。
另请参阅 isEmpty() 和 size()。
QCborArray::iterator QCborArray::end()
返回一个指向数组最后一个元素之后的数组迭代器。
QCborArray::const_iterator QCborArray::end() const
返回一个指向数组最后一个元素之后的数组迭代器。
另请参阅constBegin() 和 constEnd。
QCborValue QCborArray::first() const
返回此数组的第一个QCborValue。
如果数组为空,则此函数返回一个包含未定义值的QCborValue。因此,无法区分数组大小不足的情况和数组以未定义值结束的情况。
另请参阅 operator[],at,last,insert,prepend,append,removeAt,和takeAt。
QCborValueRef QCborArray::first()
返回对此数组的第一个QCborValue的引用。数组不能为空。
QCborValueRef具有与QCborValue完全相同的API,只有一个重要区别:如果您对它赋新值,则此数组将更新为新值。
另请参阅 operator[],at,last,insert,prepend,append,removeAt,和takeAt。
[静态]
QCborArray QCborArray::fromJsonArray(const QJsonArray &array)
使用QCborValue::fromJson()将array数组中找到的所有JSON项转换为CBOR,并返回由这些元素组成的CBOR数组。
此转换是无损的,因为CBOR类型系统是JSON的超集。此外,此函数返回的数组可以通过使用toJsonArray()转换回原始的array。
另请参阅 toJsonArray,toVariantList,QCborValue::fromJsonValue,和QCborMap::fromJsonObject。
[静态 noexcept, since 6.3]
QCborArray QCborArray::fromJsonArray(QJsonArray &&array)
这是一个重载函数。
此函数是在Qt 6.3中引入的。
[静态]
QCborArray QCborArray::fromStringList(const QStringList &list)
返回一个包含list列表中所有字符串的QCborArray。
另请参阅 fromVariantList和fromJsonArray。
[静态]
QCborArray QCborArray::fromVariantList(const QVariantList &list)
将列表中的所有项转换为CBOR,使用QCborValue::fromVariant(),并返回由这些元素组成的数组。
从QVariant的转换不是完全无损的。有关更多信息,请参阅QCborValue::fromVariant()中的文档。
另请参阅toVariantList(),fromStringList(),fromJsonArray(),以及QCborMap::fromVariantMap。
bool QCborArray::isEmpty() const
如果此QCborArray为空(即size()为0),则返回true。
QCborValue QCborArray::last() const
返回该数组的最后一个QCborValue。
如果数组为空,则此函数返回一个包含未定义值的QCborValue。因此,无法区分数组大小不足的情况和数组以未定义值结束的情况。
另请参阅operator[](),at(),first(),insert(),prepend(),append(),以及removeAt()和takeAt。
QCborValueRef QCborArray::last()
返回对此数组最后一个QCborValue的引用。数组不能为空。
QCborValueRef具有与QCborValue完全相同的API,只有一个重要区别:如果您对它赋新值,则此数组将更新为新值。
另请参阅operator[](),at(),first(),insert(),prepend(),append(),以及removeAt()和takeAt。
void QCborArray::pop_back()
是removeLast的同义词。此函数提供与使用标准库API的泛型代码兼容性。
移除此数组中的最后一个元素。在移除之前,数组必须不为空
另请参阅removeLast(),takeLast(),pop_front(),push_back(),append()和insert。
void QCborArray::pop_front()
是removeFirst的同义词。此函数提供与使用标准库API的泛型代码兼容性。
移除此数组中的第一个元素。在移除之前,数组必须不为空
另请参阅removeFirst(),takeFirst(),pop_back(),push_front(),prepend()和insert。
void QCborArray::push_back(const QCborValue &t)
是append的同义词。此函数提供与使用标准库API的泛型代码兼容性。
将元素t追加到此数组。
另请参阅append(),push_front(),pop_back(),prepend()和insert。
void QCborArray::push_front(const QCborValue &t)
prepend()的同义词。此函数提供用于与使用标准库API的通用代码兼容。
将元素t添加到此数组的开头。
另请参阅prepend()、push_back()、pop_front()、append()和insert()。
void QCborArray::removeAt(qsizetype i)
从数组中移除位于位置i的项。移除之前,数组必须有超过i个元素。
另请参阅takeAt()、removeFirst()、removeLast()、at()、operator[]()、insert()、prepend()和append()。
void QCborArray::removeFirst()
移除数组中的第一个元素,使第二个元素成为第一个元素。在调用此函数之前,数组不能为空。
另请参阅removeAt()、takeFirst()、removeLast()、at()、operator[]()、insert()、prepend()和append()。
void QCborArray::removeLast()
移除数组中的最后一个元素。在调用此函数之前,数组不能为空。
另请参阅removeAt()、takeLast()、removeFirst()、at()、operator[]()、insert()、prepend()和append()。
[noexcept]
qsizetype QCborArray::size() const
返回此数组的大小。
另请参阅isEmpty。
[noexcept]
void QCborArray::swap(QCborArray &other)
交换此对象和other的内容。
QCborValue QCborArray::takeAt(qsizetype i)
从数组中移除位于位置i的项并返回它。移除之前,数组必须有超过i个元素。
另请参阅removeAt()、removeFirst()、removeLast()、at()、operator[]()、insert()、prepend()和append()。
QCborValue QCborArray::takeFirst()
移除数组中的第一个元素并返回它,使第二个元素成为第一个元素。在调用此函数之前,数组不能为空。
另请参阅takeAt()、removeFirst()、removeLast()、at()、operator[]()、insert()、prepend()和append()。
QCborValue QCborArray::takeLast()
移除数组中的最后一个元素并返回它。在调用此函数之前,数组不能为空。
另请参阅 takeAt(),removeLast(),removeFirst(),at(),operator[](),insert(),prepend(),和 append).
QCborValue QCborArray::toCborValue() const
显式构建一个表示此数组的 QCborValue 对象。此函数通常不需要,因为 QCborValue 拥有一个为 QCborArray 构造的构造函数,所以转换是隐式的。
将 QCborArray 转换为 QCborValue 可以使其在任何可以使用 QCborValues 的上下文中使用,包括作为 QCborArray 中的项目以及作为 QCborMap 中的键和映射类型。将数组转换为 QCborValue 允许访问 QCborValue::toCbor。
另请参阅 QCborValue::QCborValue(const QCborArray &).
QJsonArray QCborArray::toJsonArray() const
递归地将此数组中的每个 QCborValue 元素转换为 JSON 使用 QCborValue::toJsonValue() 并返回由这些元素组成的相应的 QJsonArray。
请注意,CBOR 包含比 JSON 更丰富和更广泛的数据类型集,因此在转换中可能会丢失一些信息。有关转换应用详情,请参阅 QCborValue::toJsonValue。
另请参阅 fromJsonArray,QCborValue::toJsonValue,QCborMap::toJsonObject 以及 toVariantList。
QVariantList QCborArray::toVariantList() const
递归地将此数组中的每个 QCborValue 转换为使用 QCborValue::toVariant() 返回的转换项目的 QVariantList。
转换为 QVariant 不完全是无损的。请参阅 QCborValue::toVariant() 中的文档以获取更多信息。
另请参阅 fromVariantList,fromStringList,toJsonArray,QCborValue::toVariant 以及 QCborMap::toVariantMap。
[noexcept]
bool QCborArray::operator!=(const QCborArray &other) const
按顺序比较 this 数组和 other 中的每个元素,如果两个数组的内容不同,则返回 true,否则返回 false。
有关 Qt 中 CBOR 相等的更多信息,请参阅 QCborValue::compare。
另请参阅 compare,QCborValue::operator==,QCborMap::operator==,operator==,以及 operator<。
QCborArray QCborArray::operator+(const QCborValue &v) const
返回一个包含与该数组相同元素的新QCborArray,并将v附加为最后一个元素。
另请参阅operator+=(),operator<<()和append()。
QCborArray &QCborArray::operator+=(const QCborValue &v)
将v添加到该数组中,并返回对该数组的引用。
另请参阅append(),insert(),operator+()和operator<<()。
bool QCborArray::operator<(const QCborArray &other) const
按顺序比较此数组和other中的每个元素,如果此数组应在other之前排序,则返回true,否则返回false。
有关CBOR排序顺序的更多信息,请参阅QCborValue::compare。
另请参阅compare(),QCborValue::operator==(),QCborMap::operator==(),operator==()和operator!=()。
QCborArray &QCborArray::operator<<(const QCborValue &v)
将v添加到该数组中,并返回对该数组的引用。
另请参阅append(),insert(),operator+()和operator+=()。
[noexcept]
QCborArray &QCborArray::operator=(const QCborArray &other)
用other中的内容替换此数组的内容,然后返回对此对象的引用。
[noexcept]
bool QCborArray::operator==(const QCborArray &other) const
按顺序比较此数组和other中的每个元素,如果两个数组包含相同的元素,则返回true,否则返回false。
有关 Qt 中 CBOR 相等的更多信息,请参阅 QCborValue::compare。
另请参阅compare(),QCborValue::operator==(),QCborMap::operator==(),operator!=()和operator<()。
const QCborValue QCborArray::operator[](qsizetype i) const
返回数组的第i个位置的QCborValue元素。
如果数组元素小于i个,则此函数返回一个包含未定义值的QCborValue。因此,使用此函数无法区分数组大小不足的情况和数组在位置i处包含未定义值的情况。
另请参见at(),first(),last(),insert(),prepend(),append(),removeAt(),以及takeAt()。
QCborValueRef QCborArray::operator[](qsizetype i)
返回对数组中位置 i 的 QCborValue 元素的引用。索引超出数组末尾时,将扩展数组,用未定义条目填充,直到具有指定索引的条目。
QCborValueRef具有与QCborValue完全相同的API,只有一个重要区别:如果您对它赋新值,则此数组将更新为新值。
另请参见at(),first(),last(),insert(),prepend(),append(),removeAt(),以及takeAt()。
© 2024 The Qt Company Ltd。本文件中包含的文档贡献的版权归其各自所有者所有。本文件中提供的文档受GNU自由文档许可协议第1.3版的条款约束,由自由软件基金会发布。Qt以及相应的标志是芬兰的The Qt Company Ltd.及其在全球的商标。所有其他商标均为其各自所有者的财产。