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
qpoint.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 QPOINT_H
6#define QPOINT_H
7
8#include <QtCore/qcheckedint_impl.h>
9#include <QtCore/qcompare.h>
10#include <QtCore/qnamespace.h>
11#include <QtCore/qnumeric.h>
12
13#include <QtCore/q20type_traits.h>
14#include <QtCore/q23utility.h>
15
16#if defined(Q_OS_DARWIN) || defined(Q_QDOC)
17struct CGPoint;
18#endif
19
21
22QT_ENABLE_P0846_SEMANTICS_FOR(get)
23
24class QDataStream;
25class QLine;
26class QPointF;
27class QRect;
28
29class QPoint
30{
31public:
32 constexpr QPoint() noexcept;
33 constexpr QPoint(int xpos, int ypos) noexcept;
34
35 constexpr inline bool isNull() const noexcept;
36
37 constexpr inline int x() const noexcept;
38 constexpr inline int y() const noexcept;
39 constexpr inline void setX(int x) noexcept;
40 constexpr inline void setY(int y) noexcept;
41
42 constexpr inline int manhattanLength() const;
43
44 constexpr QPoint transposed() const noexcept { return {yp, xp}; }
45
46 constexpr inline int &rx() noexcept;
47 constexpr inline int &ry() noexcept;
48
49 constexpr inline QPoint &operator+=(const QPoint &p);
50 constexpr inline QPoint &operator-=(const QPoint &p);
51
52 constexpr inline QPoint &operator*=(float factor);
53 constexpr inline QPoint &operator*=(double factor);
54 constexpr inline QPoint &operator*=(int factor);
55
56 constexpr inline QPoint &operator/=(qreal divisor);
57
58 constexpr static inline int dotProduct(const QPoint &p1, const QPoint &p2)
59 { return int(p1.xp * p2.xp + p1.yp * p2.yp); }
60
61private:
62 friend constexpr bool comparesEqual(const QPoint &p1, const QPoint &p2) noexcept
63 { return p1.xp == p2.xp && p1.yp == p2.yp; }
65 friend constexpr inline QPoint operator+(const QPoint &p1, const QPoint &p2) noexcept
66 { return QPoint(p1.xp + p2.xp, p1.yp + p2.yp); }
67 friend constexpr inline QPoint operator-(const QPoint &p1, const QPoint &p2) noexcept
68 { return QPoint(p1.xp - p2.xp, p1.yp - p2.yp); }
69 friend constexpr inline QPoint operator*(const QPoint &p, float factor)
71 friend constexpr inline QPoint operator*(const QPoint &p, double factor)
73 friend constexpr inline QPoint operator*(const QPoint &p, int factor) noexcept
74 { return QPoint(p.xp * factor, p.yp * factor); }
75 friend constexpr inline QPoint operator*(float factor, const QPoint &p)
77 friend constexpr inline QPoint operator*(double factor, const QPoint &p)
79 friend constexpr inline QPoint operator*(int factor, const QPoint &p) noexcept
80 { return QPoint(p.xp * factor, p.yp * factor); }
81 friend constexpr inline QPoint operator+(const QPoint &p) noexcept
82 { return p; }
83 friend constexpr inline QPoint operator-(const QPoint &p) noexcept
84 { return QPoint(-p.xp, -p.yp); }
85 friend constexpr inline QPoint operator/(const QPoint &p, qreal c)
86 {
89 }
90
91public:
92#if defined(Q_OS_DARWIN) || defined(Q_QDOC)
93 [[nodiscard]] Q_CORE_EXPORT CGPoint toCGPoint() const noexcept;
94#endif
95 [[nodiscard]] constexpr inline QPointF toPointF() const noexcept;
96
97private:
99
100 friend class QRect;
101 friend class QLine;
102 constexpr QPoint(Representation xpos, Representation ypos) noexcept
103 : xp(xpos), yp(ypos) {}
104
105 Representation xp;
106 Representation yp;
107
108 template <std::size_t I,
109 typename P,
110 std::enable_if_t<(I < 2), bool> = true,
112 friend constexpr decltype(auto) get(P &&p) noexcept
113 {
114 if constexpr (I == 0)
115 return q23::forward_like<P>(p.xp).as_underlying();
116 else if constexpr (I == 1)
117 return q23::forward_like<P>(p.yp).as_underlying();
118 }
119};
120
122
123/*****************************************************************************
124 QPoint stream functions
125 *****************************************************************************/
126#ifndef QT_NO_DATASTREAM
127Q_CORE_EXPORT QDataStream &operator<<(QDataStream &, const QPoint &);
128Q_CORE_EXPORT QDataStream &operator>>(QDataStream &, QPoint &);
129#endif
130
131/*****************************************************************************
132 QPoint inline functions
133 *****************************************************************************/
134
135constexpr inline QPoint::QPoint() noexcept : xp(0), yp(0) {}
136
137constexpr inline QPoint::QPoint(int xpos, int ypos) noexcept : xp(xpos), yp(ypos) {}
138
139constexpr inline bool QPoint::isNull() const noexcept
140{
141 return xp == 0 && yp == 0;
142}
143
144constexpr inline int QPoint::x() const noexcept
145{
146 return xp.value();
147}
148
149constexpr inline int QPoint::y() const noexcept
150{
151 return yp.value();
152}
153
154constexpr inline void QPoint::setX(int xpos) noexcept
155{
156 xp.setValue(xpos);
157}
158
159constexpr inline void QPoint::setY(int ypos) noexcept
160{
161 yp.setValue(ypos);
162}
163
164inline int constexpr QPoint::manhattanLength() const
165{
166 return (qAbs(xp) + qAbs(yp)).value();
167}
168
169constexpr inline int &QPoint::rx() noexcept
170{
171 return xp.as_underlying();
172}
173
174constexpr inline int &QPoint::ry() noexcept
175{
176 return yp.as_underlying();
177}
178
179constexpr inline QPoint &QPoint::operator+=(const QPoint &p)
180{
181 xp += p.xp;
182 yp += p.yp;
183 return *this;
184}
185
186constexpr inline QPoint &QPoint::operator-=(const QPoint &p)
187{
188 xp -= p.xp;
189 yp -= p.yp;
190 return *this;
191}
192
193constexpr inline QPoint &QPoint::operator*=(float factor)
194{
195 xp.setValue(QtPrivate::qSaturateRound(x() * factor));
196 yp.setValue(QtPrivate::qSaturateRound(y() * factor));
197 return *this;
198}
199
200constexpr inline QPoint &QPoint::operator*=(double factor)
201{
202 xp.setValue(QtPrivate::qSaturateRound(x() * factor));
203 yp.setValue(QtPrivate::qSaturateRound(y() * factor));
204 return *this;
205}
206
207constexpr inline QPoint &QPoint::operator*=(int factor)
208{
209 xp = xp * factor;
210 yp = yp * factor;
211 return *this;
212}
213
214constexpr inline QPoint &QPoint::operator/=(qreal c)
215{
216 Q_ASSERT(!qFuzzyIsNull(c));
217 xp.setValue(qRound(int(xp) / c));
218 yp.setValue(qRound(int(yp) / c));
219 return *this;
220}
221
222#ifndef QT_NO_DEBUG_STREAM
223Q_CORE_EXPORT QDebug operator<<(QDebug, const QPoint &);
224#endif
225
226Q_CORE_EXPORT size_t qHash(QPoint key, size_t seed = 0) noexcept;
227
228
229
230
232{
233public:
234 constexpr QPointF() noexcept;
235 constexpr QPointF(const QPoint &p) noexcept;
236 constexpr QPointF(qreal xpos, qreal ypos) noexcept;
237
238 constexpr inline qreal manhattanLength() const;
239
240 inline bool isNull() const noexcept;
241
242 constexpr inline qreal x() const noexcept;
243 constexpr inline qreal y() const noexcept;
244 constexpr inline void setX(qreal x) noexcept;
245 constexpr inline void setY(qreal y) noexcept;
246
247 constexpr QPointF transposed() const noexcept { return {yp, xp}; }
248
249 constexpr inline qreal &rx() noexcept;
250 constexpr inline qreal &ry() noexcept;
251
252 constexpr inline QPointF &operator+=(const QPointF &p);
253 constexpr inline QPointF &operator-=(const QPointF &p);
254 constexpr inline QPointF &operator*=(qreal c);
255 constexpr inline QPointF &operator/=(qreal c);
256
257 constexpr static inline qreal dotProduct(const QPointF &p1, const QPointF &p2)
258 {
259 return p1.xp * p2.xp + p1.yp * p2.yp;
260 }
261
262private:
263 friend constexpr bool qFuzzyCompare(const QPointF &p1, const QPointF &p2) noexcept
264 {
265 return QtPrivate::fuzzyCompare(p1.xp, p2.xp)
266 && QtPrivate::fuzzyCompare(p1.yp, p2.yp);
267 }
268 friend constexpr bool qFuzzyIsNull(const QPointF &point) noexcept
269 {
270 return qFuzzyIsNull(point.xp) && qFuzzyIsNull(point.yp);
271 }
272 friend constexpr bool comparesEqual(const QPointF &p1, const QPointF &p2) noexcept
273 { return qFuzzyCompare(p1, p2); }
275 friend constexpr bool comparesEqual(const QPointF &p1, const QPoint &p2) noexcept
276 { return comparesEqual(p1, p2.toPointF()); }
278 friend constexpr inline QPointF operator+(const QPointF &p1, const QPointF &p2)
279 { return QPointF(p1.xp + p2.xp, p1.yp + p2.yp); }
280 friend constexpr inline QPointF operator-(const QPointF &p1, const QPointF &p2)
281 { return QPointF(p1.xp - p2.xp, p1.yp - p2.yp); }
282 friend constexpr inline QPointF operator*(const QPointF &p, qreal c)
283 { return QPointF(p.xp * c, p.yp * c); }
284 friend constexpr inline QPointF operator*(qreal c, const QPointF &p)
285 { return QPointF(p.xp * c, p.yp * c); }
286 friend constexpr inline QPointF operator+(const QPointF &p)
287 { return p; }
288 friend constexpr inline QPointF operator-(const QPointF &p)
289 { return QPointF(-p.xp, -p.yp); }
290 friend constexpr inline QPointF operator/(const QPointF &p, qreal divisor)
291 {
292 Q_ASSERT(divisor < 0 || divisor > 0);
293 return QPointF(p.xp / divisor, p.yp / divisor);
294 }
295
296public:
297 constexpr QPoint toPoint() const;
298
299#if defined(Q_OS_DARWIN) || defined(Q_QDOC)
301 [[nodiscard]] Q_CORE_EXPORT CGPoint toCGPoint() const noexcept;
302#endif
303
304private:
305 friend class QTransform;
306
307 qreal xp;
308 qreal yp;
309
310 template <std::size_t I,
311 typename P,
312 std::enable_if_t<(I < 2), bool> = true,
314 friend constexpr decltype(auto) get(P &&p) noexcept
315 {
316 if constexpr (I == 0)
317 return q23::forward_like<P>(p.xp);
318 else if constexpr (I == 1)
319 return q23::forward_like<P>(p.yp);
320 }
321};
322
324
325size_t qHash(QPointF, size_t seed = 0) = delete;
326
327/*****************************************************************************
328 QPointF stream functions
329 *****************************************************************************/
330#ifndef QT_NO_DATASTREAM
331Q_CORE_EXPORT QDataStream &operator<<(QDataStream &, const QPointF &);
332Q_CORE_EXPORT QDataStream &operator>>(QDataStream &, QPointF &);
333#endif
334
335/*****************************************************************************
336 QPointF inline functions
337 *****************************************************************************/
338
339constexpr inline QPointF::QPointF() noexcept : xp(0), yp(0) { }
340
341constexpr inline QPointF::QPointF(qreal xpos, qreal ypos) noexcept : xp(xpos), yp(ypos) { }
342
343constexpr inline QPointF::QPointF(const QPoint &p) noexcept : xp(p.x()), yp(p.y()) { }
344
345constexpr inline qreal QPointF::manhattanLength() const
346{
347 return qAbs(x()) + qAbs(y());
348}
349
350inline bool QPointF::isNull() const noexcept
351{
352 return qIsNull(xp) && qIsNull(yp);
353}
354
355constexpr inline qreal QPointF::x() const noexcept
356{
357 return xp;
358}
359
360constexpr inline qreal QPointF::y() const noexcept
361{
362 return yp;
363}
364
365constexpr inline void QPointF::setX(qreal xpos) noexcept
366{
367 xp = xpos;
368}
369
370constexpr inline void QPointF::setY(qreal ypos) noexcept
371{
372 yp = ypos;
373}
374
375constexpr inline qreal &QPointF::rx() noexcept
376{
377 return xp;
378}
379
380constexpr inline qreal &QPointF::ry() noexcept
381{
382 return yp;
383}
384
385constexpr inline QPointF &QPointF::operator+=(const QPointF &p)
386{
387 xp += p.xp;
388 yp += p.yp;
389 return *this;
390}
391
392constexpr inline QPointF &QPointF::operator-=(const QPointF &p)
393{
394 xp -= p.xp;
395 yp -= p.yp;
396 return *this;
397}
398
399constexpr inline QPointF &QPointF::operator*=(qreal c)
400{
401 xp *= c;
402 yp *= c;
403 return *this;
404}
405
406constexpr inline QPointF &QPointF::operator/=(qreal divisor)
407{
408 Q_ASSERT(divisor > 0 || divisor < 0);
409 xp /= divisor;
410 yp /= divisor;
411 return *this;
412}
413
414constexpr QPointF QPoint::toPointF() const noexcept { return *this; }
415
416constexpr inline QPoint QPointF::toPoint() const
417{
418 return QPoint(QtPrivate::qSaturateRound(xp), QtPrivate::qSaturateRound(yp));
419}
420
421#ifndef QT_NO_DEBUG_STREAM
422Q_CORE_EXPORT QDebug operator<<(QDebug d, const QPointF &p);
423#endif
424
425QT_END_NAMESPACE
426
427/*****************************************************************************
428 QPoint/QPointF tuple protocol
429 *****************************************************************************/
430
431namespace std {
432 template <>
434 template <>
435 class tuple_element<0, QT_PREPEND_NAMESPACE(QPoint)> { public: using type = int; };
436 template <>
437 class tuple_element<1, QT_PREPEND_NAMESPACE(QPoint)> { public: using type = int; };
438
439 template <>
441 template <>
443 template <>
445}
446
447#endif // QPOINT_H
static bool readIniSection(const QSettingsKey &section, QByteArrayView data, ParsedSettingsMap *settingsMap)
void set(const QString &key, const QVariant &value) override
QStringList children(const QString &prefix, ChildSpec spec) const override
virtual void initAccess()
bool readIniFile(QByteArrayView data, UnparsedSettingsMap *unparsedIniSections)
bool isWritable() const override
QString fileName() const override
QConfFileSettingsPrivate(QSettings::Format format, QSettings::Scope scope, const QString &organization, const QString &application)
void remove(const QString &key) override
QConfFileSettingsPrivate(const QString &fileName, QSettings::Format format)
const QList< QConfFile * > & getConfFiles() const
static bool readIniLine(QByteArrayView data, qsizetype &dataPos, qsizetype &lineStart, qsizetype &lineLen, qsizetype &equalsPos)
std::optional< QVariant > get(const QString &key) const override
QString name
QAtomicInt ref
UnparsedSettingsMap unparsedIniSections
ParsedSettingsMap originalKeys
qint64 size
bool userPerms
static Q_AUTOTEST_EXPORT void clearCache()
QDateTime timeStamp
QMutex mutex
ParsedSettingsMap removedKeys
ParsedSettingsMap mergedKeyMap() const
static QConfFile * fromName(const QString &name, bool _userPerms)
bool isWritable() const
ParsedSettingsMap addedKeys
\inmodule QtCore\reentrant
Definition qdatastream.h:50
\inmodule QtCore
Definition qfile.h:69
\inmodule QtCore
Definition qlockfile.h:19
\inmodule QtCore\reentrant
Definition qpoint.h:232
constexpr qreal & ry() noexcept
Returns a reference to the y coordinate of this point.
Definition qpoint.h:380
constexpr qreal x() const noexcept
Returns the x coordinate of this point.
Definition qpoint.h:355
constexpr qreal manhattanLength() const
Definition qpoint.h:345
friend constexpr bool comparesEqual(const QPointF &p1, const QPointF &p2) noexcept
Definition qpoint.h:272
friend constexpr bool qFuzzyIsNull(const QPointF &point) noexcept
Definition qpoint.h:268
constexpr qreal y() const noexcept
Returns the y coordinate of this point.
Definition qpoint.h:360
constexpr QPointF & operator+=(const QPointF &p)
Adds the given point to this point and returns a reference to this point.
Definition qpoint.h:385
constexpr qreal & rx() noexcept
Returns a reference to the x coordinate of this point.
Definition qpoint.h:375
constexpr QPointF & operator*=(qreal c)
Multiplies this point's coordinates by the given finite factor, and returns a reference to this point...
Definition qpoint.h:399
constexpr QPointF transposed() const noexcept
Definition qpoint.h:247
constexpr void setY(qreal y) noexcept
Sets the y coordinate of this point to the given finite y coordinate.
Definition qpoint.h:370
constexpr QPointF & operator-=(const QPointF &p)
Subtracts the given point from this point and returns a reference to this point.
Definition qpoint.h:392
constexpr QPointF() noexcept
Constructs a null point, i.e.
Definition qpoint.h:339
constexpr QPointF(qreal xpos, qreal ypos) noexcept
Constructs a point with the given coordinates (xpos, ypos).
Definition qpoint.h:341
constexpr void setX(qreal x) noexcept
Sets the x coordinate of this point to the given finite x coordinate.
Definition qpoint.h:365
constexpr QPointF & operator/=(qreal c)
Divides both x and y by the given divisor, and returns a reference to this point.
Definition qpoint.h:406
constexpr QPointF(const QPoint &p) noexcept
Constructs a copy of the given point.
Definition qpoint.h:343
bool isNull() const noexcept
Returns true if both the x and y coordinates are set to 0.0 (ignoring the sign); otherwise returns fa...
Definition qpoint.h:350
static constexpr qreal dotProduct(const QPointF &p1, const QPointF &p2)
Definition qpoint.h:257
friend constexpr bool qFuzzyCompare(const QPointF &p1, const QPointF &p2) noexcept
Definition qpoint.h:263
\inmodule QtCore\reentrant
Definition qpoint.h:30
constexpr bool isNull() const noexcept
Returns true if both the x and y coordinates are set to 0, otherwise returns false.
Definition qpoint.h:139
constexpr QPoint & operator*=(double factor)
Multiplies this point's coordinates by the given factor, and returns a reference to this point.
Definition qpoint.h:200
constexpr int & ry() noexcept
Returns a reference to the y coordinate of this point.
Definition qpoint.h:174
constexpr int & rx() noexcept
Returns a reference to the x coordinate of this point.
Definition qpoint.h:169
constexpr QPoint transposed() const noexcept
Definition qpoint.h:44
constexpr int x() const noexcept
Returns the x coordinate of this point.
Definition qpoint.h:144
constexpr void setY(int y) noexcept
Sets the y coordinate of this point to the given y coordinate.
Definition qpoint.h:159
constexpr QPoint & operator*=(int factor)
Multiplies this point's coordinates by the given factor, and returns a reference to this point.
Definition qpoint.h:207
constexpr QPoint & operator+=(const QPoint &p)
Adds the given point to this point and returns a reference to this point.
Definition qpoint.h:179
constexpr int manhattanLength() const
Returns the sum of the absolute values of x() and y(), traditionally known as the "Manhattan length" ...
Definition qpoint.h:164
constexpr QPoint(int xpos, int ypos) noexcept
Constructs a point with the given coordinates (xpos, ypos).
Definition qpoint.h:137
constexpr int y() const noexcept
Returns the y coordinate of this point.
Definition qpoint.h:149
static constexpr int dotProduct(const QPoint &p1, const QPoint &p2)
Definition qpoint.h:58
constexpr void setX(int x) noexcept
Sets the x coordinate of this point to the given x coordinate.
Definition qpoint.h:154
constexpr QPoint & operator*=(float factor)
Multiplies this point's coordinates by the given factor, and returns a reference to this point.
Definition qpoint.h:193
constexpr QPoint & operator-=(const QPoint &p)
Subtracts the given point from this point and returns a reference to this point.
Definition qpoint.h:186
constexpr QPoint & operator/=(qreal divisor)
This is an overloaded member function, provided for convenience. It differs from the above function o...
Definition qpoint.h:214
constexpr QPoint() noexcept
Constructs a null point, i.e.
Definition qpoint.h:135
friend constexpr bool comparesEqual(const QPoint &p1, const QPoint &p2) noexcept
Definition qpoint.h:62
QSettingsGroup(const QString &s, bool guessArraySize)
Definition qsettings_p.h:88
qsizetype num
Definition qsettings_p.h:99
QString toString() const
QString name() const
Definition qsettings_p.h:91
bool isArray() const
Definition qsettings_p.h:93
qsizetype arraySizeGuess() const
Definition qsettings_p.h:94
qsizetype maxNum
QSettingsGroup(const QString &s)
Definition qsettings_p.h:86
void setArrayIndex(qsizetype i)
Definition qsettings_p.h:95
qsizetype position
QSettingsIniKey(const QString &str, qsizetype pos=-1)
QSettingsKey(const QString &key, Qt::CaseSensitivity cs, qsizetype=-1)
Definition qsettings_p.h:48
QString originalCaseKey() const
Definition qsettings_p.h:51
qsizetype originalKeyPosition() const
Definition qsettings_p.h:52
\inmodule QtCore
Definition qsettings.h:31
Combined button and popup list for selecting options.
QDataStream & readListBasedContainer(QDataStream &s, Container &c)
QDataStream & readAssociativeContainer(QDataStream &s, Container &c)
QDataStream & writeAssociativeContainer(QDataStream &s, const Container &c)
QDataStream & writeAssociativeMultiContainer(QDataStream &s, const Container &c)
QDataStream & writeSequentialContainer(QDataStream &s, const Container &c)
QDataStream & readArrayBasedContainer(QDataStream &s, Container &c)
static const char charTraits[256]
std::enable_if_t< std::is_enum< T >::value, QDataStream & > operator>>(QDataStream &s, T &t)
QDataStream & operator>>(QDataStream &s, QFlags< Enum > &e)
QDataStreamIfHasIStreamOperators< T1, T2 > operator>>(QDataStream &s, std::pair< T1, T2 > &p)
QDataStream & operator>>(QDataStream &s, QKeyCombination &combination)
QDataStreamIfHasIStreamOperatorsContainer< QHash< Key, T >, Key, T > operator>>(QDataStream &s, QHash< Key, T > &hash)
QDataStreamIfHasIStreamOperatorsContainer< QList< T >, T > operator>>(QDataStream &s, QList< T > &v)
Q_CORE_EXPORT QDebug operator<<(QDebug debug, QDir::Filters filters)
Definition qdir.cpp:2582
size_t qHash(QPointF, size_t seed=0)=delete
Q_DECLARE_TYPEINFO(QPointF, Q_PRIMITIVE_TYPE)
Q_DECLARE_TYPEINFO(QPoint, Q_PRIMITIVE_TYPE)
QMap< QString, QSettingsIniSection > IniMap
QList< QConfFileCustomFormat > CustomFormatVector
Definition qsettings.cpp:89
static bool operator<(const QSettingsIniKey &k1, const QSettingsIniKey &k2)
static constexpr QChar sep
static Path getPath(QSettings::Format format, QSettings::Scope scope)
QMap< QSettingsIniKey, QVariant > IniKeyMap
static int pathHashKey(QSettings::Format format, QSettings::Scope scope)
static QString make_user_path()
static std::unique_lock< QBasicMutex > initDefaultPaths(std::unique_lock< QBasicMutex > locker)
static QString make_user_path_without_qstandard_paths()
QHash< QString, QConfFile * > ConfFileHash
Definition qsettings.cpp:75
QHash< int, Path > PathHash
Definition qsettings.cpp:88
Q_DECLARE_TYPEINFO(QSettingsIniSection, Q_RELOCATABLE_TYPE)
Q_DECLARE_TYPEINFO(QConfFileCustomFormat, Q_RELOCATABLE_TYPE)
Q_DECLARE_TYPEINFO(QSettingsIniKey, Q_RELOCATABLE_TYPE)
QCache< QString, QConfFile > ConfFileCache
Definition qsettings.cpp:76
#define FLUSH_CURRENT_SECTION()
static void iniChopTrailingSpaces(QString &str, qsizetype limit)
Q_DECLARE_TYPEINFO(QSettingsGroup, Q_RELOCATABLE_TYPE)
static const Qt::CaseSensitivity IniCaseSensitivity
Definition qsettings_p.h:43
Q_DECLARE_TYPEINFO(QSettingsKey, Q_RELOCATABLE_TYPE)
QMap< QSettingsKey, QByteArray > UnparsedSettingsMap
Definition qsettings_p.h:78
QMap< QSettingsKey, QVariant > ParsedSettingsMap
Definition qsettings_p.h:79
#define QT_QSETTINGS_ALWAYS_CASE_SENSITIVE_AND_FORGET_ORIGINAL_KEY_ORDER
Definition qsettings_p.h:36
QSettings settings("MyCompany", "MyApp")
[11]
Qt::CaseSensitivity caseSensitivity
Definition qsettings.cpp:71