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
qline.h
Go to the documentation of this file.
1// Copyright (C) 2022 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:significant reason:default
4
5#ifndef QLINE_H
6#define QLINE_H
7
8#include <QtCore/qpoint.h>
9
11
12class QDataStream;
13class QLineF;
14
15/*******************************************************************************
16 * class QLine
17 *******************************************************************************/
18
19class Q_CORE_EXPORT QLine
20{
21public:
22 constexpr inline QLine();
23 constexpr inline QLine(const QPoint &pt1, const QPoint &pt2);
24 constexpr inline QLine(int x1, int y1, int x2, int y2);
25
26 constexpr inline bool isNull() const;
27
28 constexpr inline QPoint p1() const;
29 constexpr inline QPoint p2() const;
30
31 constexpr inline int x1() const;
32 constexpr inline int y1() const;
33
34 constexpr inline int x2() const;
35 constexpr inline int y2() const;
36
37 constexpr inline int dx() const;
38 constexpr inline int dy() const;
39
40 constexpr inline void translate(const QPoint &p);
41 constexpr inline void translate(int dx, int dy);
42
43 [[nodiscard]] constexpr inline QLine translated(const QPoint &p) const;
44 [[nodiscard]] constexpr inline QLine translated(int dx, int dy) const;
45
46 [[nodiscard]] constexpr inline QPoint center() const;
47
48 inline void setP1(const QPoint &p1);
49 inline void setP2(const QPoint &p2);
50 inline void setPoints(const QPoint &p1, const QPoint &p2);
51 inline void setLine(int x1, int y1, int x2, int y2);
52
53#if QT_CORE_REMOVED_SINCE(6, 8)
54 constexpr inline bool operator==(const QLine &d) const noexcept;
55 constexpr inline bool operator!=(const QLine &d) const noexcept { return !operator==(d); }
56#endif
57
58 [[nodiscard]] constexpr inline QLineF toLineF() const noexcept;
59
60private:
61 friend constexpr bool comparesEqual(const QLine &lhs, const QLine &rhs) noexcept
62 { return lhs.pt1 == rhs.pt1 && lhs.pt2 == rhs.pt2; }
63#if !QT_CORE_REMOVED_SINCE(6, 8)
64 Q_DECLARE_EQUALITY_COMPARABLE_LITERAL_TYPE(QLine)
65#endif
66
67 QPoint pt1, pt2;
68};
70
71/*******************************************************************************
72 * class QLine inline members
73 *******************************************************************************/
74
75constexpr inline QLine::QLine() { }
76
77constexpr inline QLine::QLine(const QPoint &pt1_, const QPoint &pt2_) : pt1(pt1_), pt2(pt2_) { }
78
79constexpr inline QLine::QLine(int x1pos, int y1pos, int x2pos, int y2pos) : pt1(QPoint(x1pos, y1pos)), pt2(QPoint(x2pos, y2pos)) { }
80
81constexpr inline bool QLine::isNull() const
82{
83 return pt1 == pt2;
84}
85
86constexpr inline int QLine::x1() const
87{
88 return pt1.x();
89}
90
91constexpr inline int QLine::y1() const
92{
93 return pt1.y();
94}
95
96constexpr inline int QLine::x2() const
97{
98 return pt2.x();
99}
100
101constexpr inline int QLine::y2() const
102{
103 return pt2.y();
104}
105
106constexpr inline QPoint QLine::p1() const
107{
108 return pt1;
109}
110
111constexpr inline QPoint QLine::p2() const
112{
113 return pt2;
114}
115
116constexpr inline int QLine::dx() const
117{
118 return (pt2.xp - pt1.xp).value();
119}
120
121constexpr inline int QLine::dy() const
122{
123 return (pt2.yp - pt1.yp).value();
124}
125
126constexpr inline void QLine::translate(const QPoint &point)
127{
128 pt1 += point;
129 pt2 += point;
130}
131
132constexpr inline void QLine::translate(int adx, int ady)
133{
134 this->translate(QPoint(adx, ady));
135}
136
137constexpr inline QLine QLine::translated(const QPoint &p) const
138{
139 return QLine(pt1 + p, pt2 + p);
140}
141
142constexpr inline QLine QLine::translated(int adx, int ady) const
143{
144 return translated(QPoint(adx, ady));
145}
146
147constexpr inline QPoint QLine::center() const
148{
149 return QPoint(int((qint64(pt1.x()) + pt2.x()) / 2), int((qint64(pt1.y()) + pt2.y()) / 2));
150}
151
152inline void QLine::setP1(const QPoint &aP1)
153{
154 pt1 = aP1;
155}
156
157inline void QLine::setP2(const QPoint &aP2)
158{
159 pt2 = aP2;
160}
161
162inline void QLine::setPoints(const QPoint &aP1, const QPoint &aP2)
163{
164 pt1 = aP1;
165 pt2 = aP2;
166}
167
168inline void QLine::setLine(int aX1, int aY1, int aX2, int aY2)
169{
170 pt1 = QPoint(aX1, aY1);
171 pt2 = QPoint(aX2, aY2);
172}
173
174#if QT_CORE_REMOVED_SINCE(6, 8)
175constexpr inline bool QLine::operator==(const QLine &d) const noexcept
176{
177 return comparesEqual(*this, d);
178}
179#endif
180
181#ifndef QT_NO_DEBUG_STREAM
182Q_CORE_EXPORT QDebug operator<<(QDebug d, const QLine &p);
183#endif
184
185#ifndef QT_NO_DATASTREAM
186Q_CORE_EXPORT QDataStream &operator<<(QDataStream &, const QLine &);
187Q_CORE_EXPORT QDataStream &operator>>(QDataStream &, QLine &);
188#endif
189
190/*******************************************************************************
191 * class QLineF
192 *******************************************************************************/
193class Q_CORE_EXPORT QLineF
194{
195public:
196
197 enum IntersectionType { NoIntersection, BoundedIntersection, UnboundedIntersection };
198 using IntersectType = IntersectionType; // deprecated name
199
200 constexpr inline QLineF();
201 constexpr inline QLineF(const QPointF &pt1, const QPointF &pt2);
202 constexpr inline QLineF(qreal x1, qreal y1, qreal x2, qreal y2);
203 constexpr inline QLineF(const QLine &line) : pt1(line.p1()), pt2(line.p2()) { }
204
205 [[nodiscard]] static QLineF fromPolar(qreal length, qreal angle);
206
207 constexpr bool isNull() const;
208
209 constexpr inline QPointF p1() const;
210 constexpr inline QPointF p2() const;
211
212 constexpr inline qreal x1() const;
213 constexpr inline qreal y1() const;
214
215 constexpr inline qreal x2() const;
216 constexpr inline qreal y2() const;
217
218 constexpr inline qreal dx() const;
219 constexpr inline qreal dy() const;
220
221 qreal length() const;
222 void setLength(qreal len);
223
224 qreal angle() const;
225 void setAngle(qreal angle);
226
227 qreal angleTo(const QLineF &l) const;
228
229 [[nodiscard]] QLineF unitVector() const;
230 [[nodiscard]] constexpr inline QLineF normalVector() const;
231
232 IntersectionType intersects(const QLineF &l, QPointF *intersectionPoint = nullptr) const;
233
234 constexpr inline QPointF pointAt(qreal t) const;
235 constexpr inline void translate(const QPointF &p);
236 constexpr inline void translate(qreal dx, qreal dy);
237
238 [[nodiscard]] constexpr inline QLineF translated(const QPointF &p) const;
239 [[nodiscard]] constexpr inline QLineF translated(qreal dx, qreal dy) const;
240
241 [[nodiscard]] constexpr inline QPointF center() const;
242
243 inline void setP1(const QPointF &p1);
244 inline void setP2(const QPointF &p2);
245 inline void setPoints(const QPointF &p1, const QPointF &p2);
246 inline void setLine(qreal x1, qreal y1, qreal x2, qreal y2);
247
248#if QT_CORE_REMOVED_SINCE(6, 8)
249 constexpr inline bool operator==(const QLineF &d) const;
250 constexpr inline bool operator!=(const QLineF &d) const { return !operator==(d); }
251#endif
252
253 constexpr QLine toLine() const;
254
255private:
256 friend constexpr bool comparesEqual(const QLineF &lhs, const QLineF &rhs) noexcept
257 { return lhs.pt1 == rhs.pt1 && lhs.pt2 == rhs.pt2; }
258#if !QT_CORE_REMOVED_SINCE(6, 8)
259 Q_DECLARE_EQUALITY_COMPARABLE_LITERAL_TYPE(QLineF)
260#endif
261
262 friend constexpr bool comparesEqual(const QLineF &lhs, const QLine &rhs) noexcept
263 { return comparesEqual(lhs, rhs.toLineF()); }
264 Q_DECLARE_EQUALITY_COMPARABLE_LITERAL_TYPE(QLineF, QLine)
265
266 friend constexpr bool qFuzzyCompare(const QLineF &lhs, const QLineF &rhs) noexcept
267 { return qFuzzyCompare(lhs.pt1, rhs.pt1) && qFuzzyCompare(lhs.pt2, rhs.pt2); }
268
269 friend constexpr bool qFuzzyIsNull(const QLineF &line) noexcept
270 { return qFuzzyCompare(line.pt1, line.pt2); }
271
272 QPointF pt1, pt2;
273};
275
276/*******************************************************************************
277 * class QLineF inline members
278 *******************************************************************************/
279
280constexpr inline QLineF::QLineF()
281{
282}
283
284constexpr inline QLineF::QLineF(const QPointF &apt1, const QPointF &apt2)
285 : pt1(apt1), pt2(apt2)
286{
287}
288
289constexpr inline QLineF::QLineF(qreal x1pos, qreal y1pos, qreal x2pos, qreal y2pos)
290 : pt1(x1pos, y1pos), pt2(x2pos, y2pos)
291{
292}
293
294constexpr inline qreal QLineF::x1() const
295{
296 return pt1.x();
297}
298
299constexpr inline qreal QLineF::y1() const
300{
301 return pt1.y();
302}
303
304constexpr inline qreal QLineF::x2() const
305{
306 return pt2.x();
307}
308
309constexpr inline qreal QLineF::y2() const
310{
311 return pt2.y();
312}
313
314constexpr inline bool QLineF::isNull() const
315{
316 return qFuzzyCompare(pt1, pt2);
317}
318
319constexpr inline QPointF QLineF::p1() const
320{
321 return pt1;
322}
323
324constexpr inline QPointF QLineF::p2() const
325{
326 return pt2;
327}
328
329constexpr inline qreal QLineF::dx() const
330{
331 return pt2.x() - pt1.x();
332}
333
334constexpr inline qreal QLineF::dy() const
335{
336 return pt2.y() - pt1.y();
337}
338
339constexpr inline QLineF QLineF::normalVector() const
340{
341 return QLineF(p1(), p1() + QPointF(dy(), -dx()));
342}
343
344constexpr inline void QLineF::translate(const QPointF &point)
345{
346 pt1 += point;
347 pt2 += point;
348}
349
350constexpr inline void QLineF::translate(qreal adx, qreal ady)
351{
352 this->translate(QPointF(adx, ady));
353}
354
355constexpr inline QLineF QLineF::translated(const QPointF &p) const
356{
357 return QLineF(pt1 + p, pt2 + p);
358}
359
360constexpr inline QLineF QLineF::translated(qreal adx, qreal ady) const
361{
362 return translated(QPointF(adx, ady));
363}
364
365constexpr inline QPointF QLineF::center() const
366{
367 return QPointF(0.5 * pt1.x() + 0.5 * pt2.x(), 0.5 * pt1.y() + 0.5 * pt2.y());
368}
369
370inline void QLineF::setLength(qreal len)
371{
372 Q_ASSERT(qIsFinite(len));
373 const qreal oldLength = length();
374 Q_ASSERT(qIsFinite(oldLength));
375 // Scale len by dx() / length() and dy() / length(), two O(1) quantities,
376 // rather than scaling dx() and dy() by len / length(), which might overflow.
377 if (oldLength > 0)
378 pt2 = QPointF(pt1.x() + len * (dx() / oldLength), pt1.y() + len * (dy() / oldLength));
379}
380
381constexpr inline QPointF QLineF::pointAt(qreal t) const
382{
383 return QPointF(pt1.x() + (pt2.x() - pt1.x()) * t, pt1.y() + (pt2.y() - pt1.y()) * t);
384}
385
386constexpr inline QLineF QLine::toLineF() const noexcept { return *this; }
387
388constexpr inline QLine QLineF::toLine() const
389{
390 return QLine(pt1.toPoint(), pt2.toPoint());
391}
392
393
394inline void QLineF::setP1(const QPointF &aP1)
395{
396 pt1 = aP1;
397}
398
399inline void QLineF::setP2(const QPointF &aP2)
400{
401 pt2 = aP2;
402}
403
404inline void QLineF::setPoints(const QPointF &aP1, const QPointF &aP2)
405{
406 pt1 = aP1;
407 pt2 = aP2;
408}
409
410inline void QLineF::setLine(qreal aX1, qreal aY1, qreal aX2, qreal aY2)
411{
412 pt1 = QPointF(aX1, aY1);
413 pt2 = QPointF(aX2, aY2);
414}
415
416#if QT_CORE_REMOVED_SINCE(6, 8)
417constexpr inline bool QLineF::operator==(const QLineF &d) const
418{
419 return comparesEqual(*this, d);
420}
421#endif
422
423
424#ifndef QT_NO_DEBUG_STREAM
425Q_CORE_EXPORT QDebug operator<<(QDebug d, const QLineF &p);
426#endif
427
428#ifndef QT_NO_DATASTREAM
429Q_CORE_EXPORT QDataStream &operator<<(QDataStream &, const QLineF &);
430Q_CORE_EXPORT QDataStream &operator>>(QDataStream &, QLineF &);
431#endif
432
433QT_END_NAMESPACE
434
435#endif // QLINE_H
\inmodule QtCore\reentrant
Definition qcborarray.h:21
\inmodule QtCore\reentrant
Definition qcbormap.h:35
bool isBool() const
Definition qcborvalue.h:321
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:385
bool isInteger() const
Definition qcborvalue.h:313
bool isDateTime() const
Definition qcborvalue.h:325
bool isDouble() const
Definition qcborvalue.h:324
bool isString() const
Definition qcborvalue.h:315
QCborValueConstRef & operator=(const QCborValueConstRef &)=delete
bool isUrl() const
Definition qcborvalue.h:326
bool isNull() const
Definition qcborvalue.h:322
QCborArray toArray() const
Definition qcborarray.h:379
bool isContainer() const
Definition qcborvalue.h:330
bool toBool(bool defaultValue=false) const
Definition qcborvalue.h:346
QCborValue taggedValue(const QCborValue &defaultValue=QCborValue()) const
Definition qcborvalue.h:341
bool isByteArray() const
Definition qcborvalue.h:314
QCborSimpleType toSimpleType(QCborSimpleType defaultValue=QCborSimpleType::Undefined) const
Definition qcborvalue.h:334
bool isMap() const
Definition qcborvalue.h:317
bool isSimpleType() const
Definition qcborvalue.h:331
bool isRegularExpression() const
Definition qcborvalue.h:327
bool isUndefined() const
Definition qcborvalue.h:323
QCborValue::Type type() const
Definition qcborvalue.h:312
bool isInvalid() const
Definition qcborvalue.h:329
QCborValueConstRef(const QCborValueConstRef &)=default
bool isUuid() const
Definition qcborvalue.h:328
QCborTag tag(QCborTag defaultValue=QCborTag(-1)) const
Definition qcborvalue.h:339
constexpr QCborValueConstRef()
Definition qcborvalue.h:452
QByteArray toByteArray(const QByteArray &defaultValue={}) const
Definition qcborvalue.h:351
qint64 toInteger(qint64 defaultValue=0) const
Definition qcborvalue.h:344
bool isSimpleType(QCborSimpleType st) const
Definition qcborvalue.h:332
bool isTrue() const
Definition qcborvalue.h:320
QUuid toUuid(const QUuid &defaultValue={}) const
Definition qcborvalue.h:368
QCborContainerPrivate * d
Definition qcborvalue.h:456
bool isFalse() const
Definition qcborvalue.h:319
QAnyStringView toStringView(QAnyStringView defaultValue={}) const
Definition qcborvalue.h:355
friend bool comparesEqual(const QCborValueConstRef &lhs, const QCborValueConstRef &rhs) noexcept
Definition qcborvalue.h:409
bool isTag() const
Definition qcborvalue.h:318
friend bool comparesEqual(const QCborValueConstRef &lhs, const QCborValue &rhs) noexcept
Definition qcborvalue.h:425
QString toDiagnosticNotation(QCborValue::DiagnosticNotationOptions opt=QCborValue::Compact) const
Definition qcborvalue.h:395
bool isArray() const
Definition qcborvalue.h:316
int compare(const QCborValue &other) const
Definition qcborvalue.h:382
friend Qt::strong_ordering compareThreeWay(const QCborValueConstRef &lhs, const QCborValue &rhs) noexcept
Definition qcborvalue.h:430
operator QCborValue() const
Definition qcborvalue.h:310
friend Qt::strong_ordering compareThreeWay(const QCborValueConstRef &lhs, const QCborValueConstRef &rhs) noexcept
Definition qcborvalue.h:414
constexpr QCborValueConstRef(QCborContainerPrivate *dd, qsizetype ii)
Definition qcborvalue.h:453
QCborValue concrete() const noexcept
Definition qcborvalue.h:404
QString toString(const QString &defaultValue={}) const
Definition qcborvalue.h:353
QUrl toUrl(const QUrl &defaultValue={}) const
Definition qcborvalue.h:362
QJsonValue toJsonValue() const
double toDouble(double defaultValue=0) const
Definition qcborvalue.h:348
\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:185
constexpr QJsonValueConstRef(QCborContainerPrivate *d, size_t index, bool is_object)
Definition qjsonvalue.h:236
friend bool comparesEqual(const QJsonValueConstRef &lhs, const QJsonValueConstRef &rhs)
Definition qjsonvalue.h:180
bool isBool() const
Definition qjsonvalue.h:153
operator QJsonValue() const
Definition qjsonvalue.h:148
bool isArray() const
Definition qjsonvalue.h:156
bool isDouble() const
Definition qjsonvalue.h:154
QAnyStringView objectKeyView() const
Definition qjsonvalue.h:210
void rebind(QJsonValueConstRef other)
Definition qjsonvalue.h:244
bool isString() const
Definition qjsonvalue.h:155
bool isObject() const
Definition qjsonvalue.h:157
QString objectKey() const
Definition qjsonvalue.h:207
QAnyStringView toStringView(QAnyStringView defaultValue={}) const
Definition qjsonvalue.h:170
QJsonValueConstRef(const QJsonValueConstRef &)=default
qint64 toInteger(qint64 defaultValue=0) const
Definition qjsonvalue.h:164
bool toBool(bool defaultValue=false) const
Definition qjsonvalue.h:160
QJsonValueConstRef & operator=(const QJsonValueConstRef &)=delete
QString toString(const QString &defaultValue={}) const
Definition qjsonvalue.h:168
QJsonValue::Type type() const
Definition qjsonvalue.h:151
QJsonValueConstRef(QJsonArray *array, qsizetype idx)
Definition qjsonarray.h:322
QCborContainerPrivate * d
Definition qjsonvalue.h:250
bool isNull() const
Definition qjsonvalue.h:152
QJsonValueConstRef(QJsonObject *object, qsizetype idx)
double toDouble(double defaultValue=0) const
Definition qjsonvalue.h:166
int toInt(int defaultValue=0) const
Definition qjsonvalue.h:162
const QJsonValue operator[](QStringView key) const
Definition qjsonvalue.h:175
bool isUndefined() const
Definition qjsonvalue.h:158
\inmodule QtCore\reentrant
Definition qjsonvalue.h:30
\inmodule QtCore\compares equality \compareswith equality QLine \endcompareswith
Definition qline.h:194
\inmodule QtCore\compares equality \compareswith equality QLineF \endcompareswith
Definition qline.h:20
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:312
\keyword 16-bit Floating Point Support\inmodule QtCore \inheaderfile QFloat16
Definition qfloat16.h:56
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
Q_DECLARE_TYPEINFO(QLine, Q_PRIMITIVE_TYPE)
Q_DECLARE_TYPEINFO(QLineF, Q_PRIMITIVE_TYPE)
#define qCWarning(category,...)
#define Q_STATIC_LOGGING_CATEGORY(name,...)
#define CONVERT_CBOR_AND_JSON(To)
#define NS(x)
Definition qmetatype.cpp:72
#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:137
#define QT_FOR_EACH_STATIC_PRIMITIVE_TYPE(F)
Definition qmetatype.h:70
#define QT_FOR_EACH_STATIC_PRIMITIVE_NON_VOID_TYPE(F)
Definition qmetatype.h:50
#define QT_FOR_EACH_STATIC_CORE_TEMPLATE(F)
Definition qmetatype.h:151
#define QT_FOR_EACH_STATIC_PRIMITIVE_POINTER(F)
Definition qmetatype.h:74
#define QT_IMPL_METATYPE_EXTERN_TAGGED(TYPE, TAG)
Definition qmetatype.h:1365
#define QT_FOR_EACH_STATIC_CORE_CLASS(F)
Definition qmetatype.h:105
#define QT_FOR_EACH_STATIC_ALIAS_TYPE(F)
Definition qmetatype.h:193
#define QT_FOR_EACH_STATIC_TYPE(F)
Definition qmetatype.h:223
#define QMETATYPE_CONVERTER(To, From, assign_and_return)
Definition qmetatype_p.h:23
#define QMETATYPE_CONVERTER_ASSIGN(To, From)
Definition qmetatype_p.h:34
#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