Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
qjsonvalue.h
Go to the documentation of this file.
1// Copyright (C) 2016 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3// Qt-Security score:critical reason:data-parser
4
5#ifndef QJSONVALUE_H
6#define QJSONVALUE_H
7
8#include <QtCore/qcborvalue.h>
9#include <QtCore/qcompare.h>
10#include <QtCore/qglobal.h>
11#if (QT_VERSION < QT_VERSION_CHECK(7, 0, 0)) && !defined(QT_BOOTSTRAPPED)
12#include <QtCore/qjsondocument.h>
13#endif
14#include <QtCore/qjsonparseerror.h>
15#include <QtCore/qstring.h>
16#include <QtCore/qshareddata.h>
17
19
20class QVariant;
21class QJsonArray;
22class QJsonObject;
24
25namespace QJsonPrivate {
26class Value;
27}
28
29class Q_CORE_EXPORT QJsonValue
30{
31public:
32 enum Type {
33 Null = 0x0,
34 Bool = 0x1,
35 Double = 0x2,
36 String = 0x3,
37 Array = 0x4,
38 Object = 0x5,
39 Undefined = 0x80
40 };
41
42#if (QT_VERSION < QT_VERSION_CHECK(7, 0, 0)) && !defined(QT_BOOTSTRAPPED)
43 using JsonFormat = QJsonDocument::JsonFormat;
44#else
45 enum class JsonFormat {
46 Indented,
47 Compact,
48 };
49#endif
50
51 QJsonValue(Type = Null);
52 QJsonValue(bool b);
53 QJsonValue(double n);
54 QJsonValue(int n);
55 QJsonValue(qint64 v);
56 QJsonValue(const QString &s);
57 QJsonValue(QLatin1StringView s);
58#ifndef QT_NO_CAST_FROM_ASCII
59 QT_ASCII_CAST_WARN inline QJsonValue(const char *s)
60 : QJsonValue(QString::fromUtf8(s)) {}
61#endif
62 QJsonValue(const QJsonArray &a);
63 QJsonValue(QJsonArray &&a) noexcept;
64 QJsonValue(const QJsonObject &o);
65 QJsonValue(QJsonObject &&o) noexcept;
66
67 ~QJsonValue();
68
69 QJsonValue(const QJsonValue &other) noexcept;
70 QJsonValue &operator =(const QJsonValue &other) noexcept;
71
72 QT_CORE_INLINE_SINCE(6, 12)
73 QJsonValue(QJsonValue &&other) noexcept;
74 QT_MOVE_ASSIGNMENT_OPERATOR_IMPL_VIA_PURE_SWAP(QJsonValue)
75
76 QT_CORE_INLINE_SINCE(6, 12)
77 void swap(QJsonValue &other) noexcept;
78
79 static QJsonValue fromVariant(const QVariant &variant);
80 QVariant toVariant() const;
81
82 static QJsonValue fromJson(QByteArrayView json, QJsonParseError *error = nullptr);
83
84 QByteArray toJson(JsonFormat format = JsonFormat::Indented) const;
85
86 Type type() const;
87 inline bool isNull() const { return type() == Null; }
88 inline bool isBool() const { return type() == Bool; }
89 inline bool isDouble() const { return type() == Double; }
90 inline bool isString() const { return type() == String; }
91 inline bool isArray() const { return type() == Array; }
92 inline bool isObject() const { return type() == Object; }
93 inline bool isUndefined() const { return type() == Undefined; }
94
95 bool toBool(bool defaultValue = false) const;
96 int toInt(int defaultValue = 0) const;
97 qint64 toInteger(qint64 defaultValue = 0) const;
98 double toDouble(double defaultValue = 0) const;
99 QString toString() const;
100 QString toString(const QString &defaultValue) const;
101 QAnyStringView toStringView(QAnyStringView defaultValue = {}) const;
102 QJsonArray toArray() const;
103 QJsonArray toArray(const QJsonArray &defaultValue) const;
104 QJsonObject toObject() const;
105 QJsonObject toObject(const QJsonObject &defaultValue) const;
106
107 const QJsonValue operator[](const QString &key) const;
108 const QJsonValue operator[](QStringView key) const;
109 const QJsonValue operator[](QLatin1StringView key) const;
110 const QJsonValue operator[](qsizetype i) const;
111
112#if QT_CORE_REMOVED_SINCE(6, 8)
113 bool operator==(const QJsonValue &other) const;
114 bool operator!=(const QJsonValue &other) const;
115#endif
116
117private:
118 friend Q_CORE_EXPORT bool comparesEqual(const QJsonValue &lhs,
119 const QJsonValue &rhs);
120 Q_DECLARE_EQUALITY_COMPARABLE_NON_NOEXCEPT(QJsonValue)
121
122 // avoid implicit conversions from char * to bool
123 QJsonValue(const void *) = delete;
124 friend class QJsonPrivate::Value;
125 friend class QJsonArray;
126 friend class QJsonObject;
127 friend class QCborValue;
128 friend Q_CORE_EXPORT QDebug operator<<(QDebug, const QJsonValue &);
129 friend Q_CORE_EXPORT QDataStream &operator<<(QDataStream &, const QJsonValue &);
130
131 QCborValue value;
132
133 // Assert binary compatibility with pre-5.15 QJsonValue
134 static_assert(sizeof(QExplicitlySharedDataPointer<QCborContainerPrivate>) == sizeof(void *));
135 static_assert(sizeof(QCborValue::Type) == sizeof(QJsonValue::Type));
136};
138
139Q_CORE_EXPORT size_t qHash(const QJsonValue &value, size_t seed = 0);
140
142{
143public:
146 inline operator QJsonValue() const { return concrete(*this); }
147
148 Q_CORE_EXPORT QVariant toVariant() const;
149 QJsonValue::Type type() const { return concreteType(*this); }
150 bool isNull() const { return type() == QJsonValue::Null; }
151 bool isBool() const { return type() == QJsonValue::Bool; }
152 bool isDouble() const { return type() == QJsonValue::Double; }
153 bool isString() const { return type() == QJsonValue::String; }
154 bool isArray() const { return type() == QJsonValue::Array; }
155 bool isObject() const { return type() == QJsonValue::Object; }
156 bool isUndefined() const { return type() == QJsonValue::Undefined; }
157
158 bool toBool(bool defaultValue = false) const
159 { return concreteBool(*this, defaultValue); }
160 int toInt(int defaultValue = 0) const
161 { return int(concreteInt(*this, defaultValue, true)); }
162 qint64 toInteger(qint64 defaultValue = 0) const
163 { return concreteInt(*this, defaultValue, false); }
164 double toDouble(double defaultValue = 0) const
165 { return concreteDouble(*this, defaultValue); }
166 QString toString(const QString &defaultValue = {}) const
167 { return concreteString(*this, defaultValue); }
168 QAnyStringView toStringView(QAnyStringView defaultValue = {}) const
169 { return concreteStringView(*this, defaultValue); }
170 Q_CORE_EXPORT QJsonArray toArray() const;
171 Q_CORE_EXPORT QJsonObject toObject() const;
172
173 const QJsonValue operator[](QStringView key) const { return concrete(*this)[key]; }
174 const QJsonValue operator[](QLatin1StringView key) const { return concrete(*this)[key]; }
175 const QJsonValue operator[](qsizetype i) const { return concrete(*this)[i]; }
176
177protected:
178 friend size_t qHash(const QJsonValueConstRef &key, size_t seed = 0) noexcept
179 { return QHashPrivate::ex1to2arg(concrete(key), seed); }
180
181 friend bool comparesEqual(const QJsonValueConstRef &lhs,
182 const QJsonValueConstRef &rhs)
183 {
184 return comparesEqual(concrete(lhs), concrete(rhs));
185 }
186 friend bool comparesEqual(const QJsonValueConstRef &lhs,
187 const QJsonValue &rhs)
188 {
189 return comparesEqual(concrete(lhs), rhs);
190 }
193
196 Q_CORE_EXPORT static bool
197 Q_DECL_PURE_FUNCTION concreteBool(QJsonValueConstRef self, bool defaultValue) noexcept;
198 Q_CORE_EXPORT static qint64
200 Q_CORE_EXPORT static double
201 Q_DECL_PURE_FUNCTION concreteDouble(QJsonValueConstRef self, double defaultValue) noexcept;
202 Q_CORE_EXPORT static QString concreteString(QJsonValueConstRef self, const QString &defaultValue);
203 Q_CORE_EXPORT static QAnyStringView concreteStringView(QJsonValueConstRef self, QAnyStringView defaultValue);
204 Q_CORE_EXPORT static QJsonValue concrete(QJsonValueConstRef self) noexcept;
205
206 // for iterators
207 Q_CORE_EXPORT static QString objectKey(QJsonValueConstRef self);
208 QString objectKey() const { return objectKey(*this); }
209
210 Q_CORE_EXPORT static QAnyStringView objectKeyView(QJsonValueConstRef self);
211 QAnyStringView objectKeyView() const { return objectKeyView(*this); }
212
213#if QT_VERSION < QT_VERSION_CHECK(7, 0, 0) && !defined(QT_BOOTSTRAPPED)
215 : a(array), is_object(false), index(static_cast<quint64>(idx)) {}
217 : o(object), is_object(true), index(static_cast<quint64>(idx)) {}
218
220 {
222 if (is_object)
223 o = other.o;
224 else
225 a = other.a;
226 index = other.index;
227 }
228
229 union {
230 QJsonArray *a;
231 QJsonObject *o;
232 void *d;
233 };
234 quint64 is_object : 1;
235 quint64 index : 63;
236#else
237 constexpr QJsonValueConstRef(QCborContainerPrivate *d, size_t index, bool is_object)
239 {}
240
241 // implemented in qjsonarray.h & qjsonobject.h, to get their d
242 QJsonValueConstRef(QJsonArray *array, qsizetype idx);
243 QJsonValueConstRef(QJsonObject *object, qsizetype idx);
244
246 {
247 d = other.d;
248 index = other.index;
249 }
250
254#endif
255
256 friend class QJsonArray;
257 friend class QJsonObject;
258 friend class QJsonPrivate::Value;
259};
260
261QT_WARNING_PUSH
262QT6_ONLY(QT_WARNING_DISABLE_MSVC(4275)) // non dll-interface class 'QJsonValueConstRef' used as base for dll-interface class 'QJsonValueRef'
263class QT6_ONLY(Q_CORE_EXPORT) QJsonValueRef : public QJsonValueConstRef
264{
265public:
266 QJsonValueRef(const QJsonValueRef &) = default;
267 QT7_ONLY(Q_CORE_EXPORT) QJsonValueRef &operator = (const QJsonValue &val);
268 QT7_ONLY(Q_CORE_EXPORT) QJsonValueRef &operator = (const QJsonValueRef &val);
269
270#if QT_VERSION < QT_VERSION_CHECK(7, 0, 0) && !defined(QT_BOOTSTRAPPED)
271 // retained for binary compatibility (due to the Q_CORE_EXPORT) because at
272 // least one compiler emits and exports all inlines in an exported class
273
274 QJsonValueRef(QJsonArray *array, qsizetype idx)
275 : QJsonValueConstRef(array, idx) {}
276 QJsonValueRef(QJsonObject *object, qsizetype idx)
277 : QJsonValueConstRef(object, idx) {}
278
279 operator QJsonValue() const { return toValue(); }
280
281 QVariant toVariant() const;
282 inline QJsonValue::Type type() const { return QJsonValueConstRef::type(); }
283 inline bool isNull() const { return type() == QJsonValue::Null; }
284 inline bool isBool() const { return type() == QJsonValue::Bool; }
285 inline bool isDouble() const { return type() == QJsonValue::Double; }
286 inline bool isString() const { return type() == QJsonValue::String; }
287 inline bool isArray() const { return type() == QJsonValue::Array; }
288 inline bool isObject() const { return type() == QJsonValue::Object; }
289 inline bool isUndefined() const { return type() == QJsonValue::Undefined; }
290
291 inline bool toBool(bool defaultValue = false) const { return QJsonValueConstRef::toBool(defaultValue); }
292 inline int toInt(int defaultValue = 0) const { return QJsonValueConstRef::toInt(defaultValue); }
293 inline qint64 toInteger(qint64 defaultValue = 0) const { return QJsonValueConstRef::toInteger(defaultValue); }
294 inline double toDouble(double defaultValue = 0) const { return QJsonValueConstRef::toDouble(defaultValue); }
295 inline QString toString(const QString &defaultValue = {}) const { return QJsonValueConstRef::toString(defaultValue); }
296 QAnyStringView toStringView(QAnyStringView defaultValue = {}) const
297 { return QJsonValueConstRef::toStringView(defaultValue); }
298 QJsonArray toArray() const;
299 QJsonObject toObject() const;
300
301 const QJsonValue operator[](QStringView key) const { return QJsonValueConstRef::operator[](key); }
302 const QJsonValue operator[](QLatin1StringView key) const { return QJsonValueConstRef::operator[](key); }
303 const QJsonValue operator[](qsizetype i) const { return QJsonValueConstRef::operator[](i); }
304
305#if QT_CORE_REMOVED_SINCE(6, 8)
306 inline bool operator==(const QJsonValue &other) const { return comparesEqual(*this, other); }
307 inline bool operator!=(const QJsonValue &other) const { return !comparesEqual(*this, other); }
308#endif
309
310private:
311 friend bool comparesEqual(const QJsonValueRef &lhs, const QJsonValueRef &rhs)
312 {
313 return comparesEqual(QJsonValue(lhs), QJsonValue(rhs));
314 }
315 friend bool comparesEqual(const QJsonValueRef &lhs, const QJsonValueConstRef &rhs)
316 {
317 return comparesEqual(QJsonValue(lhs), QJsonValue(rhs));
318 }
319 Q_DECLARE_EQUALITY_COMPARABLE_NON_NOEXCEPT(QJsonValueRef)
320 Q_DECLARE_EQUALITY_COMPARABLE_NON_NOEXCEPT(QJsonValueRef, QJsonValueConstRef)
321
322 QJsonValue toValue() const;
323#else
324 using QJsonValueConstRef::operator[];
325 Q_CORE_EXPORT QJsonValueRef operator[](QAnyStringView key);
326 Q_CORE_EXPORT QJsonValueRef operator[](qsizetype i);
327
328private:
329 using QJsonValueConstRef::QJsonValueConstRef;
330#endif // < Qt 7
331
332 QT7_ONLY(Q_CORE_EXPORT) void detach();
333 friend class QJsonArray;
334 friend class QJsonObject;
335};
337
338inline QJsonValue QCborValueConstRef::toJsonValue() const
339{
340 return concrete().toJsonValue();
341}
342
343#if QT_CORE_INLINE_IMPL_SINCE(6, 12)
344QJsonValue::QJsonValue(QJsonValue &&other) noexcept = default;
345
346void QJsonValue::swap(QJsonValue &other) noexcept
347{
348 value.swap(other.value);
349}
350#endif
351
352#if !defined(QT_NO_DEBUG_STREAM)
353Q_CORE_EXPORT QDebug operator<<(QDebug, const QJsonValue &);
354#endif
355
356#ifndef QT_NO_DATASTREAM
357Q_CORE_EXPORT QDataStream &operator<<(QDataStream &, const QJsonValue &);
358Q_CORE_EXPORT QDataStream &operator>>(QDataStream &, QJsonValue &);
359#endif
360
361QT_END_NAMESPACE
362
363#endif // QJSONVALUE_H
\inmodule QtCore\reentrant
Definition qcborarray.h:21
\inmodule QtCore\reentrant
Definition qcbormap.h:35
bool isBool() const
Definition qcborvalue.h:323
QCborArray toArray(const QCborArray &a) const
Definition qcborarray.h:384
QCborMap toMap(const QCborMap &m) const
Definition qcbormap.h:495
QCborMap toMap() const
Definition qcbormap.h:490
QVariant toVariant() const
Definition qcborvalue.h:387
bool isInteger() const
Definition qcborvalue.h:315
bool isDateTime() const
Definition qcborvalue.h:327
bool isDouble() const
Definition qcborvalue.h:326
bool isString() const
Definition qcborvalue.h:317
QCborValueConstRef & operator=(const QCborValueConstRef &)=delete
bool isUrl() const
Definition qcborvalue.h:328
bool isNull() const
Definition qcborvalue.h:324
QCborArray toArray() const
Definition qcborarray.h:379
bool isContainer() const
Definition qcborvalue.h:332
bool toBool(bool defaultValue=false) const
Definition qcborvalue.h:348
QCborValue taggedValue(const QCborValue &defaultValue=QCborValue()) const
Definition qcborvalue.h:343
bool isByteArray() const
Definition qcborvalue.h:316
QCborSimpleType toSimpleType(QCborSimpleType defaultValue=QCborSimpleType::Undefined) const
Definition qcborvalue.h:336
bool isMap() const
Definition qcborvalue.h:319
bool isSimpleType() const
Definition qcborvalue.h:333
bool isRegularExpression() const
Definition qcborvalue.h:329
bool isUndefined() const
Definition qcborvalue.h:325
QCborValue::Type type() const
Definition qcborvalue.h:314
bool isInvalid() const
Definition qcborvalue.h:331
QCborValueConstRef(const QCborValueConstRef &)=default
bool isUuid() const
Definition qcborvalue.h:330
QCborTag tag(QCborTag defaultValue=QCborTag(-1)) const
Definition qcborvalue.h:341
constexpr QCborValueConstRef()
Definition qcborvalue.h:458
QByteArray toByteArray(const QByteArray &defaultValue={}) const
Definition qcborvalue.h:353
qint64 toInteger(qint64 defaultValue=0) const
Definition qcborvalue.h:346
bool isSimpleType(QCborSimpleType st) const
Definition qcborvalue.h:334
bool isTrue() const
Definition qcborvalue.h:322
QUuid toUuid(const QUuid &defaultValue={}) const
Definition qcborvalue.h:370
QCborContainerPrivate * d
Definition qcborvalue.h:462
bool isFalse() const
Definition qcborvalue.h:321
QAnyStringView toStringView(QAnyStringView defaultValue={}) const
Definition qcborvalue.h:357
friend bool comparesEqual(const QCborValueConstRef &lhs, const QCborValueConstRef &rhs) noexcept
Definition qcborvalue.h:415
bool isTag() const
Definition qcborvalue.h:320
friend bool comparesEqual(const QCborValueConstRef &lhs, const QCborValue &rhs) noexcept
Definition qcborvalue.h:431
QString toDiagnosticNotation(QCborValue::DiagnosticNotationOptions opt=QCborValue::Compact) const
Definition qcborvalue.h:397
bool isArray() const
Definition qcborvalue.h:318
int compare(const QCborValue &other) const
Definition qcborvalue.h:384
friend Qt::strong_ordering compareThreeWay(const QCborValueConstRef &lhs, const QCborValue &rhs) noexcept
Definition qcborvalue.h:436
operator QCborValue() const
Definition qcborvalue.h:312
friend Qt::strong_ordering compareThreeWay(const QCborValueConstRef &lhs, const QCborValueConstRef &rhs) noexcept
Definition qcborvalue.h:420
constexpr QCborValueConstRef(QCborContainerPrivate *dd, qsizetype ii)
Definition qcborvalue.h:459
QCborValue concrete() const noexcept
Definition qcborvalue.h:406
QString toString(const QString &defaultValue={}) const
Definition qcborvalue.h:355
QUrl toUrl(const QUrl &defaultValue={}) const
Definition qcborvalue.h:364
QJsonValue toJsonValue() const
friend size_t qHash(const QCborValueConstRef &key, size_t seed=0) noexcept
Definition qcborvalue.h:408
double toDouble(double defaultValue=0) const
Definition qcborvalue.h:350
\inmodule QtCore\reentrant
Definition qcborvalue.h:48
\inmodule QtCore\reentrant
Definition qdatastream.h:50
\inmodule QtCore
Definition qhash.h:843
\inmodule QtCore\reentrant
Definition qjsonarray.h:19
\inmodule QtCore\reentrant
\inmodule QtCore\reentrant
Definition qjsonobject.h:34
friend bool comparesEqual(const QJsonValueConstRef &lhs, const QJsonValue &rhs)
Definition qjsonvalue.h:186
constexpr QJsonValueConstRef(QCborContainerPrivate *d, size_t index, bool is_object)
Definition qjsonvalue.h:237
friend bool comparesEqual(const QJsonValueConstRef &lhs, const QJsonValueConstRef &rhs)
Definition qjsonvalue.h:181
bool isBool() const
Definition qjsonvalue.h:151
operator QJsonValue() const
Definition qjsonvalue.h:146
bool isArray() const
Definition qjsonvalue.h:154
bool isDouble() const
Definition qjsonvalue.h:152
QAnyStringView objectKeyView() const
Definition qjsonvalue.h:211
void rebind(QJsonValueConstRef other)
Definition qjsonvalue.h:245
bool isString() const
Definition qjsonvalue.h:153
bool isObject() const
Definition qjsonvalue.h:155
QString objectKey() const
Definition qjsonvalue.h:208
QAnyStringView toStringView(QAnyStringView defaultValue={}) const
Definition qjsonvalue.h:168
QJsonValueConstRef(const QJsonValueConstRef &)=default
qint64 toInteger(qint64 defaultValue=0) const
Definition qjsonvalue.h:162
bool toBool(bool defaultValue=false) const
Definition qjsonvalue.h:158
QJsonValueConstRef & operator=(const QJsonValueConstRef &)=delete
QString toString(const QString &defaultValue={}) const
Definition qjsonvalue.h:166
friend size_t qHash(const QJsonValueConstRef &key, size_t seed=0) noexcept
Definition qjsonvalue.h:178
QJsonValue::Type type() const
Definition qjsonvalue.h:149
QJsonValueConstRef(QJsonArray *array, qsizetype idx)
Definition qjsonarray.h:322
QCborContainerPrivate * d
Definition qjsonvalue.h:251
bool isNull() const
Definition qjsonvalue.h:150
QJsonValueConstRef(QJsonObject *object, qsizetype idx)
double toDouble(double defaultValue=0) const
Definition qjsonvalue.h:164
int toInt(int defaultValue=0) const
Definition qjsonvalue.h:160
const QJsonValue operator[](QStringView key) const
Definition qjsonvalue.h:173
bool isUndefined() const
Definition qjsonvalue.h:156
\inmodule QtCore\reentrant
Definition qjsonvalue.h:30
Definition qlist.h:81
void remove(int from, int to)
bool insertIfNotContains(Key k, const T &f)
bool contains(Key k) const
const T * function(Key k) const
\inmodule QtCore\reentrant
Definition qpoint.h:232
\inmodule QtCore\reentrant
Definition qpoint.h:30
LegacyRegisterOp legacyRegisterOp
Definition qmetatype.h:313
\keyword 16-bit Floating Point Support\inmodule QtCore \inheaderfile QFloat16
Definition qfloat16.h:57
Combined button and popup list for selecting options.
QMutableListIterator< QByteArray > QMutableByteArrayListIterator
QCborSimpleType
Definition qcborcommon.h:29
Q_CORE_EXPORT QDebug operator<<(QDebug debug, QDir::Filters filters)
Definition qdir.cpp:2582
QList< QVariant > QVariantList
Definition qjsonarray.h:16
#define qCWarning(category,...)
#define Q_STATIC_LOGGING_CATEGORY(name,...)
#define CONVERT_CBOR_AND_JSON(To)
#define NS(x)
Definition qmetatype.cpp:73
#define QMETATYPE_CONVERTER_ASSIGN_QCHAR(From)
#define QMETATYPE_CONVERTER_ASSIGN_DOUBLE(To, From)
#define INTEGRAL_CONVERTER(To)
static bool tryConvertBuiltinTypes(const void *from, int fromTypeId, void *to, int toTypeId)
#define QMETATYPE_CONVERTER_ASSIGN_NUMBER(To, From)
static bool qIntegerConversionFromFPHelper(From from, To *to)
#define FLOAT_CONVERTER(To)
#define QT_FOR_EACH_STATIC_CORE_POINTER(F)
Definition qmetatype.h:138
#define QT_FOR_EACH_STATIC_PRIMITIVE_TYPE(F)
Definition qmetatype.h:71
#define QT_FOR_EACH_STATIC_PRIMITIVE_NON_VOID_TYPE(F)
Definition qmetatype.h:51
#define QT_FOR_EACH_STATIC_CORE_TEMPLATE(F)
Definition qmetatype.h:152
#define QT_FOR_EACH_STATIC_PRIMITIVE_POINTER(F)
Definition qmetatype.h:75
#define QT_IMPL_METATYPE_EXTERN_TAGGED(TYPE, TAG)
Definition qmetatype.h:1375
#define QT_FOR_EACH_STATIC_CORE_CLASS(F)
Definition qmetatype.h:106
#define QT_FOR_EACH_STATIC_ALIAS_TYPE(F)
Definition qmetatype.h:194
#define QT_FOR_EACH_STATIC_TYPE(F)
Definition qmetatype.h:224
#define QMETATYPE_CONVERTER(To, From, assign_and_return)
Definition qmetatype_p.h:24
#define QMETATYPE_CONVERTER_ASSIGN(To, From)
Definition qmetatype_p.h:35
#define QStringLiteral(str)
Definition qstring.h:1825
\inmodule QtCore\reentrant
Definition qcborvalue.h:38
QString errorString() const
\variable QCborParserError::offset
Definition qcborvalue.h:42
QCborError error
Definition qcborvalue.h:40
QListSpecialMethods & operator=(const QListSpecialMethods &)=default
QListSpecialMethods(QListSpecialMethods &&)=default
QListSpecialMethods & operator=(QListSpecialMethods &&)=default
QListSpecialMethods(const QListSpecialMethods &)=default
QByteArray join(QByteArrayView sep={}) const
static T value(const Iterator &it)
Definition qcbormap.h:27
static T value(Iterator &it)
Definition qcbormap.h:28
static QCborValueConstRef key(Iterator &it)
Definition qcbormap.h:26
static QCborValueConstRef key(const Iterator &it)
Definition qcbormap.h:25
static QAnyStringView key(Iterator &it)
Definition qjsonobject.h:26
static T value(const Iterator &it)
Definition qjsonobject.h:27
static QAnyStringView key(const Iterator &it)
Definition qjsonobject.h:25
static T value(Iterator &it)
Definition qjsonobject.h:28