20#include <qjsonvalue.h>
21#include <qcborvalue.h>
22#include <private/qcborvalue_p.h>
24#if QT_VERSION < QT_VERSION_CHECK(7
, 0
, 0
) && !defined(QT_BOOTSTRAPPED)
25# include <qjsonarray.h>
26# include <qjsonobject.h>
33template<
typename Element,
typename ElementsIterator>
51 if (m_key != other.m_key) {
53 value() = other.value();
61 value() = other.value();
65 Element &
key() {
return *m_key; }
66 Element &
value() {
return *(m_key + 1); }
68 const Element &
key()
const {
return *m_key; }
69 const Element &
value()
const {
return *(m_key + 1); }
79 Element
key()
const {
return m_key; }
80 Element
value()
const {
return m_value; }
112template<
typename Element,
typename ElementsIterator>
115 typename ObjectIterator<Element, ElementsIterator>::difference_type n)
117 return {a.elementsIterator() + 2 * n};
119template<
typename Element,
typename ElementsIterator>
123 return {a.elementsIterator() + 2 * n};
125template<
typename Element,
typename ElementsIterator>
128 typename ObjectIterator<Element, ElementsIterator>::difference_type n)
130 return {a.elementsIterator() - 2 * n};
132template<
typename Element,
typename ElementsIterator>
137 return (a.elementsIterator() - b.elementsIterator()) / 2;
139template<
typename Element,
typename ElementsIterator>
144 return a.elementsIterator() != b.elementsIterator();
146template<
typename Element,
typename ElementsIterator>
151 return a.elementsIterator() == b.elementsIterator();
165inline void swap(KeyIterator::reference a, KeyIterator::reference b)
167 KeyIterator::value_type t = a;
179#if QT_VERSION < QT_VERSION_CHECK(7
, 0
, 0
) && !defined(QT_BOOTSTRAPPED)
180 return (r.is_object ? r.o->o : r.a->a).data();
191 qsizetype index = r.index;
193 index = index * 2 + 1;
212 static QJsonObject
toJsonObject(
const QVariantMap &map);
const QtCbor::ByteData * byteData(QtCbor::Element e) const
void append(QtCbor::Undefined)
static QJsonValue fromTrustedCbor(const QCborValue &v)
static qsizetype indexHelper(QJsonValueConstRef r) noexcept
static const QCborContainerPrivate * container(QJsonValueConstRef r) noexcept
static const QtCbor::Element & elementHelper(QJsonValueConstRef r) noexcept
static QCborContainerPrivate * container(QJsonValueRef r) noexcept
static qint64 valueHelper(const QCborValue &v)
static QCborContainerPrivate * container(const QCborValue &v)
static QJsonObject toJsonObject(const QVariantMap &map)
static QJsonArray toJsonArray(const QVariantList &list)
QCborContainerPrivate * d
ObjectIterator< Element, ElementsIterator > operator+(qsizetype n, ObjectIterator< Element, ElementsIterator > a)
qsizetype operator-(ObjectIterator< Element, ElementsIterator > a, ObjectIterator< Element, ElementsIterator > b)
void swap(KeyIterator::reference a, KeyIterator::reference b)
bool operator!=(ObjectIterator< Element, ElementsIterator > a, ObjectIterator< Element, ElementsIterator > b)
ObjectIterator< Element, ElementsIterator > operator-(ObjectIterator< Element, ElementsIterator > a, typename ObjectIterator< Element, ElementsIterator >::difference_type n)
bool operator==(ObjectIterator< Element, ElementsIterator > a, ObjectIterator< Element, ElementsIterator > b)
ObjectIterator< Element, ElementsIterator > operator+(ObjectIterator< Element, ElementsIterator > a, typename ObjectIterator< Element, ElementsIterator >::difference_type n)
QList< QVariant > QVariantList
static QString simpleTypeString(QCborValue::Type t)
static QString makeString(const QCborContainerPrivate *d, qsizetype idx, ConversionMode mode=ConversionMode::FromRaw)
static void appendVariant(QCborContainerPrivate *d, const QVariant &variant)
QJsonValue qt_convertToJson(QCborContainerPrivate *d, qsizetype idx, ConversionMode mode=ConversionMode::FromRaw)
static QString encodeByteArray(const QCborContainerPrivate *d, qsizetype idx, QCborTag encoding)
static QJsonArray convertToJsonArray(QCborContainerPrivate *d, ConversionMode mode=ConversionMode::FromRaw)
static QJsonValue convertExtendedTypeToJson(QCborContainerPrivate *d)
static QJsonObject convertToJsonObject(QCborContainerPrivate *d, ConversionMode mode=ConversionMode::FromRaw)
static QJsonValue fpToJson(double v)
static QString encodeTag(const QCborContainerPrivate *d)
static QString maybeEncodeTag(const QCborContainerPrivate *d)
reference & operator=(const reference &other)
reference & operator=(reference &&other)
reference(reference &&other)=default
reference(const reference &other)=default
const Element & key() const
const Element & value() const
reference & operator=(const value_type &value)
value_type(reference ref)
ObjectIterator operator++(int)
ObjectIterator & operator++()
reference operator[](qsizetype n) const
bool operator>=(ObjectIterator other) const
ObjectIterator(ElementsIterator it)
bool operator<=(ObjectIterator other) const
ObjectIterator operator--(int)
bool operator<(ObjectIterator other) const
ObjectIterator & operator--()
reference operator*() const
ObjectIterator & operator-=(difference_type n)
ObjectIterator & operator+=(difference_type n)
ElementsIterator elementsIterator()
std::random_access_iterator_tag iterator_category
bool operator>(ObjectIterator other) const