Класс QCborArray
Класс QCborArray используется для хранения массива элементов CBOR. Подробнее...
| Заголовок: | #include <QCborArray> |
| qmake: | QT += core |
| С момента: | Qt 5.12 |
Этот класс был представлен в Qt 5.12.
Примечание: Все функции в этом классе являются повторно входящими.
Открытые типы
| класс | ConstIterator |
| класс | Iterator |
| typedef | const_iterator |
| typedef | const_pointer |
| typedef | const_reference |
| typedef | difference_type |
| typedef | iterator |
| typedef | pointer |
| typedef | reference |
| typedef | size_type |
| typedef | value_type |
Открытые функции
| QCborArray(std::initializer_list<QCborValue> args) | |
| QCborArray(const QCborArray &other) | |
| QCborArray() | |
| QCborArray & | operator=(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) |
| bool | operator==(const QCborArray &other) const |
| const QCborValue | operator[](qsizetype i) const |
| QCborValueRef | operator[](qsizetype i) |
Статические публичные члены
| QCborArray | fromJsonArray(const QJsonArray &array) |
| QCborArray | fromStringList(const QStringList &list) |
| QCborArray | fromVariantList(const QVariantList &list) |
Подробное описание
Этот класс может использоваться для хранения одного последовательного контейнера в CBOR (массив). CBOR — это компактное двоичное представление объектов, очень компактная форма двоичного кодирования данных, которая является надмножеством JSON. Он был создан рабочей группой IETF Constrained RESTful Environments (CoRE), которая использовала его во многих новых RFC. Он предназначен для использования вместе с протоколом CoAP.
QCborArray очень похож на QVariantList и QJsonArray, и его API практически идентичен этим двум классам. Его также можно преобразовать в эти два класса и обратно, хотя при некоторых преобразованиях может произойти потеря информации.
См. также QCborValue, QCborMap, QJsonArray, QList и QVector.
Документация типов членов
typedef QCborArray::const_iterator
Синоним для QCborArray::ConstIterator.
typedef QCborArray::const_pointer
Псевдоним для const QCborValue *, для совместимости с общими алгоритмами.
typedef QCborArray::const_reference
Псевдоним для const QCborValue &, для совместимости с общими алгоритмами.
typedef QCborArray::difference_type
Псевдоним для qsizetype.
typedef QCborArray::iterator
Синоним для QCborArray::Iterator.
typedef QCborArray::pointer
Псевдоним для QCborValue *, для совместимости с общими алгоритмами.
typedef QCborArray::reference
Псевдоним для QCborValue &, для совместимости с общими алгоритмами.
typedef QCborArray::size_type
Псевдоним для qsizetype.
typedef QCborArray::value_type
Тип значений, которые могут храниться в QCborArray: то есть, QCborValue.
Документация функций-членов
QCborArray::iterator QCborArray::erase(QCborArray::iterator it)
QCborArray::iterator QCborArray::erase(QCborArray::const_iterator it)
Удаляет элемент, на который указывает итератор массива it из этого массива, затем возвращает итератор на следующий элемент (элемент, который занимал то же положение в массиве, что и it).
См. также insert(), removeAt(), takeAt(), takeFirst() и takeLast().
QCborArray::iterator QCborArray::insert(QCborArray::iterator before, const QCborValue &value)
QCborArray::iterator QCborArray::insert(QCborArray::const_iterator before, const QCborValue &value)
Это перегруженная функция.
Вставляет value в этот массив перед элементом before и возвращает итератор массива, указывающий на только что вставленный элемент.
См. также erase(), removeAt(), prepend() и append().
void QCborArray::append(const QCborValue &value)
void QCborArray::append(QCborValue &&value)
Добавляет value в массив после всех других элементов, которые он может уже содержать.
См. также at(), operator[](), first(), last(), insert(), prepend(), removeAt() и takeAt().
void QCborArray::prepend(const QCborValue &value)
void QCborArray::prepend(QCborValue &&value)
Добавляет value в начало массива перед любыми другими элементами, которые он может уже содержать.
См. также at(), operator[](), first(), last(), insert(), append(), removeAt() и takeAt().
QCborValue QCborArray::extract(QCborArray::Iterator it)
QCborValue QCborArray::extract(QCborArray::ConstIterator it)
Извлекает значение из массива по позиции, указанной итератором it, и возвращает извлеченное значение.
См. также insert(), erase(), takeAt() и removeAt().
void QCborArray::insert(qsizetype i, const QCborValue &value)
void QCborArray::insert(qsizetype i, QCborValue &&value)
Вставляет value в массив по позиции i в этом массиве. Если i равно -1, запись добавляется в конец массива. Заполняет массив недействительными записями, если i больше предыдущего размера массива.
См. также at(), operator[](), first(), last(), prepend(), append(), removeAt(), takeAt() и extract().
QCborArray::QCborArray(std::initializer_list<QCborValue> args)
Инициализирует этот QCborArray из списка C++, заключённого в фигурные скобки в args, как в следующем примере:
QCborArray a = { null, 0, 1, 1.5, 2, "Hello", QByteArray("World") }; QCborArray::QCborArray(const QCborArray &other)
Копирует содержимое other в этот объект.
QCborArray::QCborArray()
Создаёт пустой QCborArray.
QCborArray &QCborArray::operator=(const QCborArray &other)
Заменяет содержимое этого массива содержимым other, затем возвращает ссылку на этот объект.
QCborArray::~QCborArray()
Удаляет этот QCborArray и освобождает все связанные ресурсы.
QCborValue QCborArray::at(qsizetype i) const
Возвращает элемент QCborValue по позиции i в массиве.
Если массив меньше, чем 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().
END_OF_DOCUMENT_MARKERQCborArray::const_iterator QCborArray::cbegin() const
Возвращает итератор массива, указывающий на первый элемент в этом массиве. Если массив пуст, то эта функция возвращает то же, что и end().
См. также constBegin() и constEnd().
QCborArray::const_iterator QCborArray::cend() const
Возвращает итератор массива, указывающий на позицию сразу после последнего элемента в этом массиве.
См. также constBegin() и constEnd().
void QCborArray::clear()
Очищает этот массив.
См. также isEmpty().
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().
См. также begin() и constEnd().
QCborArray::const_iterator QCborArray::constEnd() const
Возвращает итератор массива, указывающий на позицию сразу после последнего элемента в этом массиве.
См. также constBegin() и end().
bool QCborArray::contains(const QCborValue &value) const
Возвращает true, если этот массив содержит элемент, равный value.
bool QCborArray::empty() const
Синоним для isEmpty(). Эта функция предоставляется для совместимости с общим кодом, использующим API стандартной библиотеки.
Возвращает true, если этот массив пуст (size() == 0).
QCborArray::iterator QCborArray::end()
Возвращает итератор массива, указывающий на позицию сразу после последнего элемента в этом массиве.
См. также begin() и constEnd().
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 имеет точно такой же API, как QCborValue, с одним важным отличием: если вы присваиваете ему новые значения, этот массив будет обновлён этим новым значением.
См. также operator[](), at(), last(), insert(), prepend(), append(), removeAt(), и takeAt().
[static] QCborArray QCborArray::fromJsonArray(const QJsonArray &array)
Преобразует все элементы JSON, найденные в массиве array, в CBOR с использованием QCborValue::fromJson(), и возвращает массив CBOR, составленный из этих элементов.
Это преобразование без потерь, так как система типов CBOR является надмножеством JSON. Кроме того, массив, возвращаемый этой функцией, может быть преобразован обратно в исходный массив array с помощью toJsonArray().
См. также toJsonArray(), toVariantList(), QCborValue::fromJsonValue(), и QCborMap::fromJsonObject().
[static] QCborArray QCborArray::fromStringList(const QStringList &list)
Возвращает QCborArray, содержащий все строки, найденные в списке list.
См. также fromVariantList() и fromJsonArray().
[static] QCborArray QCborArray::fromVariantList(const QVariantList &list)
Преобразует все элементы в списке list в CBOR с использованием QCborValue::fromVariant() и возвращает массив, составленный из этих элементов.
Преобразование из QVariant не является полностью без потерь. Пожалуйста, см. документацию в QCborValue::fromVariant() для получения дополнительной информации.
См. также toVariantList(), fromStringList(), fromJsonArray(), и QCborMap::fromVariantMap().
bool QCborArray::isEmpty() const
Возвращает true, если этот QCborArray пуст (то есть, если size() равно 0).
QCborValue QCborArray::last() const
Возвращает последний элемент QCborValue этого массива.
Если массив пуст, эта функция возвращает QCborValue с неопределённым значением. По этой причине с помощью этой функции невозможно отличить ситуацию, когда массив недостаточно велик, от случая, когда массив заканчивается неопределённым значением.
См. также operator[](), at(), first(), insert(), prepend(), append(), removeAt(), и takeAt().
QCborValueRef QCborArray::last()
Возвращает ссылку на последний элемент QCborValue этого массива. Массив не должен быть пустым.
QCborValueRef имеет точно такой же API, как QCborValue, с одним важным отличием: если вы присваиваете ему новые значения, этот массив будет обновлён этим новым значением.
См. также 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().
qsizetype QCborArray::size() const
Возвращает размер этого массива.
См. также isEmpty().
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, включая элементы в QCborArrays и ключи и отображаемые типы в 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().
bool QCborArray::operator!=(const QCborArray &other) const
Сравнивает этот массив и other, сравнивая каждый элемент последовательно, и возвращает true, если содержимое двух массивов различается, и false в противном случае.
Дополнительную информацию о равенстве CBOR в Qt см. в 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, сравнивая каждый элемент последовательно, и возвращает true, если этот массив должен быть отсортирован перед other, и false в противном случае.
Дополнительную информацию о порядке сортировки CBOR см. в QCborValue::compare().
См. также compare(), QCborValue::operator==(), QCborMap::operator==(), operator==() и operator!=().
QCborArray &QCborArray::operator<<(const QCborValue &v)
Добавляет v в этот массив и возвращает ссылку на этот массив.
См. также append(), insert(), operator+() и operator+=().
bool QCborArray::operator==(const QCborArray &other) const
Сравнивает этот массив и other, сравнивая каждый элемент последовательно, и возвращает true, если оба массива содержат одинаковые элементы, в противном случае возвращает false.
Дополнительную информацию о равенстве CBOR в Qt см. в QCborValue::compare().
См. также compare(), QCborValue::operator==(), QCborMap::operator==(), operator!=() и operator<().
const QCborValue QCborArray::operator[](qsizetype i) const
Возвращает элемент QCborValue с позицией i в массиве.
Если массив меньше, чем i элементов, эта функция возвращает QCborValue, содержащую неопределённое значение. По этой причине с помощью этой функции нельзя отличить ситуацию, когда массив недостаточно большой, от случая, когда в массиве на позиции i находится неопределённое значение.
См. также at(), first(), last(), insert(), prepend(), append(), removeAt() и takeAt().
QCborValueRef QCborArray::operator[](qsizetype i)
Возвращает ссылку на элемент QCborValue с позицией i в массиве. Индексы, выходящие за пределы массива, будут увеличивать массив, заполняя его неопределёнными значениями, пока не будет создан элемент с указанным индексом.
QCborValueRef имеет точно такой же API, как QCborValue, с одним важным отличием: если вы присваиваете новые значения, этот массив будет обновлён этим новым значением.
См. также at(), first(), last(), insert(), prepend(), append(), removeAt() и takeAt().
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.13/qcborarray.html