QCborArray 类

QCborArray 类是用于保持 CBOR (简明二进制对象表示) 元素的数组。 更多...

头: #include <QCborArray>
CMake: find_package(Qt6 REQUIRED COMPONENTS Core)
target_link_libraries(mytarget PRIVATE Qt6::Core)
qmake: QT += core

注意: 此类的所有函数 可重入 .

公共类型

class ConstIterator
class 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 last ()
void pop_back ()
void pop_front ()
void prepend (const QCborValue & value )
void prepend (QCborValue && value )
void push_back (const QCborValue & t )
void push_front (const QCborValue & t )
void removeAt (qsizetype i )
void removeFirst ()
void removeLast ()
qsizetype size () const
void swap (QCborArray & other )
QCborValue takeAt (qsizetype i )
QCborValue takeFirst ()
QCborValue takeLast ()
QCborValue toCborValue () const
QJsonArray toJsonArray () const
QVariantList toVariantList () const
bool operator!= (const QCborArray & other ) const
QCborArray operator+ (const QCborValue & v ) const
QCborArray & operator+= (const QCborValue & v )
bool operator< (const QCborArray & other ) const
QCborArray & operator<< (const QCborValue & v )
QCborArray & operator= (const QCborArray & other )
bool operator== (const QCborArray & other ) const
const QCborValue operator[] (qsizetype i ) const
QCborValueRef operator[] (qsizetype i )

静态公共成员

QCborArray fromJsonArray (const QJsonArray & array )
(since 6.3) QCborArray fromJsonArray (QJsonArray && array )
QCborArray fromStringList (const QStringList & list )
QCborArray fromVariantList (const QVariantList & list )

详细描述

This class can be used to hold one sequential container in CBOR (an array). CBOR is the Concise Binary Object Representation, a very compact form of binary data encoding that is a superset of JSON. It was created by the IETF Constrained RESTful Environments (CoRE) WG, which has used it in many new RFCs. It is meant to be used alongside the CoAP protocol .

QCborArray 非常类似 QVariantList and QJsonArray and its API is almost identical to those two classes. It can also be converted to and from those two, though there may be loss of information in some conversions.

另请参阅 QCborValue , QCborMap , QJsonArray , QList , Parsing and displaying CBOR data , 序列化转换器 ,和 保存和加载游戏 .

成员类型文档编制

QCborArray:: const_iterator

同义词 QCborArray::ConstIterator .

QCborArray:: const_pointer

A typedef to const QCborValue * , for compatibility with generic algorithms.

QCborArray:: const_reference

A typedef to const QCborValue & , for compatibility with generic algorithms.

QCborArray:: difference_type

A typedef to qsizetype.

QCborArray:: iterator

同义词 QCborArray::Iterator .

QCborArray:: pointer

A typedef to QCborValue * , for compatibility with generic algorithms.

QCborArray:: reference

A typedef to QCborValue & , for compatibility with generic algorithms.

QCborArray:: size_type

A typedef to qsizetype.

QCborArray:: value_type

The type of values that can be held in a QCborArray : that is, QCborValue .

成员函数文档编制

void QCborArray:: insert ( qsizetype i , QCborValue && value )

void QCborArray:: insert ( qsizetype i , const QCborValue & value )

插入 value into the array at position i in this array. If i is -1, the entry is appended to the array. Pads the array with invalid entries if i is greater than the prior size of the array.

另请参阅 at (), operator[] (), first (), last (), prepend (), append (), removeAt (), takeAt (),和 extract ().

QCborValue QCborArray:: extract ( QCborArray::ConstIterator it )

QCborValue QCborArray:: extract ( QCborArray::Iterator it )

Extracts a value from the array at the position indicated by iterator it and returns the value so extracted.

另请参阅 insert (), erase (), takeAt (),和 removeAt ().

void QCborArray:: prepend ( QCborValue && value )

void QCborArray:: prepend (const QCborValue & value )

前置 value into the array before any other elements it may already contain.

另请参阅 at (), operator[] (), first (), last (), insert (), append (), removeAt (),和 takeAt ().

void QCborArray:: append ( QCborValue && value )

void QCborArray:: append (const QCborValue & value )

追加 value into the array after all other elements it may already contain.

另请参阅 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 )

这是重载函数。

插入 value into this array before element before and returns an array iterator pointing to the just-inserted element.

另请参阅 erase (), removeAt (), prepend (),和 append ().

QCborArray::iterator QCborArray:: erase ( QCborArray::const_iterator it )

QCborArray::iterator QCborArray:: erase ( QCborArray::iterator it )

Removes the element pointed to by the array iterator it from this array, then returns an iterator to the next element (the one that took the same position in the array that it used to occupy).

另请参阅 insert (), removeAt (), takeAt (), takeFirst (),和 takeLast ().

[noexcept] QCborArray:: QCborArray ()

构造空的 QCborArray。

QCborArray:: QCborArray ( std::initializer_list < QCborValue > args )

Initializes this QCborArray from the C++ brace-enclosed list found in args , as in the following example:

QCborArray a = { null, 0, 1, 1.5, 2, "Hello", QByteArray("World") };
					

[noexcept] QCborArray:: QCborArray (const QCborArray & other )

Copies the contents of other 到此对象。

[noexcept] QCborArray:: ~QCborArray ()

销毁此 QCborArray 并释放任何关联资源。

QCborValue QCborArray:: at ( qsizetype i ) const

返回 QCborValue element at position i in the array.

若数组小于 i elements, this function returns a QCborValue containing an undefined value. For that reason, it is not possible with this function to tell apart the situation where the array is not large enough from the case where the array starts with an undefined value.

另请参阅 operator[] (), first (), last (), insert (), prepend (), append (), removeAt (),和 takeAt ().

QCborArray::iterator QCborArray:: begin ()

Returns an array iterator pointing to the first item in this array. If the array is empty, then this function returns the same as end ().

另请参阅 constBegin () 和 end ().

QCborArray::const_iterator QCborArray:: begin () const

Returns an array iterator pointing to the first item in this array. If the array is empty, then this function returns the same as end ().

另请参阅 constBegin () 和 constEnd ().

QCborArray::const_iterator QCborArray:: cbegin () const

Returns an array iterator pointing to the first item in this array. If the array is empty, then this function returns the same as end ().

另请参阅 constBegin () 和 constEnd ().

QCborArray::const_iterator QCborArray:: cend () const

Returns an array iterator pointing to just after the last element in this array.

另请参阅 constBegin () 和 constEnd ().

void QCborArray:: clear ()

清空此数组。

另请参阅 isEmpty ().

[noexcept] int QCborArray:: compare (const QCborArray & other ) const

比较此数组和 other , comparing each element in sequence, and returns an integer that indicates whether this array should be sorted before (if the result is negative) or after other (if the result is positive). If this function returns 0, the two arrays are equal and contain the same elements.

For more information on CBOR sorting order, see QCborValue::compare ().

另请参阅 QCborValue::compare (), QCborMap::compare (),和 operator== ().

QCborArray::const_iterator QCborArray:: constBegin () const

Returns an array iterator pointing to the first item in this array. If the array is empty, then this function returns the same as end ().

另请参阅 begin () 和 constEnd ().

QCborArray::const_iterator QCborArray:: constEnd () const

Returns an array iterator pointing to just after the last element in this array.

另请参阅 constBegin () 和 end ().

bool QCborArray:: contains (const QCborValue & value ) const

Returns true if this array contains an element that is equal to value .

bool QCborArray:: empty () const

同义词 isEmpty (). This function is provided for compatibility with generic code that uses the Standard Library API.

返回 true 若此数组为空 ( size () == 0).

另请参阅 isEmpty () 和 size ().

QCborArray::iterator QCborArray:: end ()

Returns an array iterator pointing to just after the last element in this array.

另请参阅 begin () 和 constEnd ().

QCborArray::const_iterator QCborArray:: end () const

Returns an array iterator pointing to just after the last element in this array.

另请参阅 constBegin () 和 constEnd ().

QCborValue QCborArray:: first () const

返回第一 QCborValue of this array.

若数组为空,此函数返回 QCborValue containing an undefined value. For that reason, it is not possible with this function to tell apart the situation where the array is not large enough from the case where the array ends with an undefined value.

另请参阅 operator[] (), at (), last (), insert (), prepend (), append (), removeAt (),和 takeAt ().

QCborValueRef QCborArray:: first ()

Returns a reference to the first QCborValue of this array. The array must not be empty.

QCborValueRef has the exact same API as QCborValue , with one important difference: if you assign new values to it, this array will be updated with that new value.

另请参阅 operator[] (), at (), last (), insert (), prepend (), append (), removeAt (),和 takeAt ().

[static] QCborArray QCborArray:: fromJsonArray (const QJsonArray & array )

Converts all JSON items found in the array array to CBOR using QCborValue::fromJson(), and returns the CBOR array composed of those elements.

This conversion is lossless, as the CBOR type system is a superset of JSON's. Moreover, the array returned by this function can be converted back to the original array by using toJsonArray ().

另请参阅 toJsonArray (), toVariantList (), QCborValue::fromJsonValue (),和 QCborMap::fromJsonObject ().

[static noexcept, since 6.3] QCborArray QCborArray:: fromJsonArray ( QJsonArray && array )

这是重载函数。

该函数在 Qt 6.3 引入。

[static] QCborArray QCborArray:: fromStringList (const QStringList & list )

返回 QCborArray containing all the strings found in the list 列表。

另请参阅 fromVariantList () 和 fromJsonArray ().

[static] QCborArray QCborArray:: fromVariantList (const QVariantList & list )

Converts all the items in the list to CBOR using QCborValue::fromVariant () and returns the array composed of those elements.

Conversion from QVariant is not completely lossless. Please see the documentation in QCborValue::fromVariant () 了解更多信息。

另请参阅 toVariantList (), fromStringList (), fromJsonArray (),和 QCborMap::fromVariantMap ().

bool QCborArray:: isEmpty () const

返回 true,若此 QCborArray is empty (that is if size () is 0).

另请参阅 size () 和 clear ().

QCborValue QCborArray:: last () const

Returns the last QCborValue of this array.

若数组为空,此函数返回 QCborValue containing an undefined value. For that reason, it is not possible with this function to tell apart the situation where the array is not large enough from the case where the array ends with an undefined value.

另请参阅 operator[] (), at (), first (), insert (), prepend (), append (), removeAt (),和 takeAt ().

QCborValueRef QCborArray:: last ()

Returns a reference to the last QCborValue of this array. The array must not be empty.

QCborValueRef has the exact same API as QCborValue , with one important difference: if you assign new values to it, this array will be updated with that new value.

另请参阅 operator[] (), at (), first (), insert (), prepend (), append (), removeAt (),和 takeAt ().

void QCborArray:: pop_back ()

同义词 removeLast (). This function is provided for compatibility with generic code that uses the Standard Library API.

Removes the last element of this array. The array must not be empty before the removal

另请参阅 removeLast (), takeLast (), pop_front (), push_back (), append (),和 insert ().

void QCborArray:: pop_front ()

同义词 removeFirst (). This function is provided for compatibility with generic code that uses the Standard Library API.

Removes the first element of this array. The array must not be empty before the removal

另请参阅 removeFirst (), takeFirst (), pop_back (), push_front (), prepend (),和 insert ().

void QCborArray:: push_back (const QCborValue & t )

同义词 append (). This function is provided for compatibility with generic code that uses the Standard Library API.

追加元素 t 到此数组。

另请参阅 append (), push_front (), pop_back (), prepend (),和 insert ().

void QCborArray:: push_front (const QCborValue & t )

同义词 prepend (). This function is provided for compatibility with generic code that uses the Standard Library API.

Prepends the element t 到此数组。

另请参阅 prepend (), push_back (), pop_front (), append (),和 insert ().

void QCborArray:: removeAt ( qsizetype i )

Removes the item at position i from the array. The array must have more than i elements before the removal.

另请参阅 takeAt (), removeFirst (), removeLast (), at (), operator[] (), insert (), prepend (),和 append ().

void QCborArray:: removeFirst ()

Removes the first item in the array, making the second element become the first. The array must not be empty before this call.

另请参阅 removeAt (), takeFirst (), removeLast (), at (), operator[] (), insert (), prepend (),和 append ().

void QCborArray:: removeLast ()

Removes the last item in the array. The array must not be empty before this call.

另请参阅 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 )

Removes the item at position i from the array and returns it. The array must have more than i elements before the removal.

另请参阅 removeAt (), removeFirst (), removeLast (), at (), operator[] (), insert (), prepend (),和 append ().

QCborValue QCborArray:: takeFirst ()

Removes the first item in the array and returns it, making the second element become the first. The array must not be empty before this call.

另请参阅 takeAt (), removeFirst (), removeLast (), at (), operator[] (), insert (), prepend (),和 append ().

QCborValue QCborArray:: takeLast ()

Removes the last item in the array and returns it. The array must not be empty before this call.

另请参阅 takeAt (), removeLast (), removeFirst (), at (), operator[] (), insert (), prepend (),和 append ().

QCborValue QCborArray:: toCborValue () const

Explicitly construcuts a QCborValue object that represents this array. This function is usually not necessary since QCborValue has a constructor for QCborArray , so the conversion is implicit.

转换 QCborArray to QCborValue allows it to be used in any context where QCborValues can be used, including as items in QCborArrays and as keys and mapped types in QCborMap . Converting an array to QCborValue allows access to QCborValue::toCbor ().

另请参阅 QCborValue::QCborValue (const QCborArray &).

QJsonArray QCborArray:: toJsonArray () const

Recursively converts every QCborValue element in this array to JSON using QCborValue::toJsonValue () and returns the corresponding QJsonArray composed of those elements.

Please note that CBOR contains a richer and wider type set than JSON, so some information may be lost in this conversion. For more details on what conversions are applied, see QCborValue::toJsonValue ().

另请参阅 fromJsonArray (), QCborValue::toJsonValue (), QCborMap::toJsonObject (),和 toVariantList ().

QVariantList QCborArray:: toVariantList () const

Recursively converts each QCborValue in this array using QCborValue::toVariant () and returns the QVariantList composed of the converted items.

Conversion to QVariant is not completely lossless. Please see the documentation in QCborValue::toVariant () 了解更多信息。

另请参阅 fromVariantList (), fromStringList (), toJsonArray (), QCborValue::toVariant (),和 QCborMap::toVariantMap ().

[noexcept] bool QCborArray:: operator!= (const QCborArray & other ) const

比较此数组和 other , comparing each element in sequence, and returns true if the two arrays' contents are different, false otherwise.

For more information on CBOR equality in Qt, see, QCborValue::compare ().

另请参阅 compare (), QCborValue::operator== (), QCborMap::operator== (), operator== (),和 operator< ().

QCborArray QCborArray:: operator+ (const QCborValue & v ) const

返回新的 QCborArray containing the same elements as this array, plus v appended as the last element.

另请参阅 operator+= (), operator<< (),和 append ().

QCborArray &QCborArray:: operator+= (const QCborValue & v )

追加 v to this array and returns a reference to this array.

另请参阅 append (), insert (), operator+ (),和 operator<< ().

bool QCborArray:: operator< (const QCborArray & other ) const

比较此数组和 other , comparing each element in sequence, and returns true if this array should be sorted before other , false otherwise.

For more information on CBOR sorting order, see QCborValue::compare ().

另请参阅 compare (), QCborValue::operator== (), QCborMap::operator== (), operator== (),和 operator!= ().

QCborArray &QCborArray:: operator<< (const QCborValue & v )

追加 v to this array and returns a reference to this array.

另请参阅 append (), insert (), operator+ (),和 operator+= ().

[noexcept] QCborArray &QCborArray:: operator= (const QCborArray & other )

Replaces the contents of this array with that found in other , then returns a reference to this object.

[noexcept] bool QCborArray:: operator== (const QCborArray & other ) const

比较此数组和 other , comparing each element in sequence, and returns true if both arrays contains the same elements, false otherwise.

For more information on CBOR equality in Qt, see, QCborValue::compare ().

另请参阅 compare (), QCborValue::operator== (), QCborMap::operator== (), operator!= (),和 operator< ().

const QCborValue QCborArray:: operator[] ( qsizetype i ) const

返回 QCborValue element at position i in the array.

若数组小于 i elements, this function returns a QCborValue containing an undefined value. For that reason, it is not possible with this function to tell apart the situation where the array is not large enough from the case where the array contains an undefined value at position i .

另请参阅 at (), first (), last (), insert (), prepend (), append (), removeAt (),和 takeAt ().

QCborValueRef QCborArray:: operator[] ( qsizetype i )

Returns a reference to the QCborValue element at position i in the array. Indices beyond the end of the array will grow the array, filling with undefined entries, until it has an entry at the specified index.

QCborValueRef has the exact same API as QCborValue , with one important difference: if you assign new values to it, this array will be updated with that new value.

另请参阅 at (), first (), last (), insert (), prepend (), append (), removeAt (),和 takeAt ().