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
removed_api.cpp
Go to the documentation of this file.
1// Copyright (C) 2021 Klarälvdalens Datakonsult AB, a KDAB Group company, info@kdab.com, author Marc Mutz <marc.mutz@kdab.com>
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#define QT_CORE_BUILD_REMOVED_API
6
7#include "qglobal.h"
8
9QT_USE_NAMESPACE
10
11#if QT_CORE_REMOVED_SINCE(6, 1)
12
13#include "qmetatype.h"
14
15int QMetaType::id() const
16{
17 return registerHelper();
18}
19
20#endif // QT_CORE_REMOVED_SINCE(6, 1)
21
22#if QT_CORE_REMOVED_SINCE(6, 2)
23
24#include "qbindingstorage.h"
25
26void QBindingStorage::maybeUpdateBindingAndRegister_helper(const QUntypedPropertyData *data) const
27{
28 registerDependency_helper(data);
29}
30
31#endif // QT_CORE_REMOVED_SINCE(6, 2)
32
33#if QT_CORE_REMOVED_SINCE(6, 3)
34
35#include "qbytearraymatcher.h"
36
37# if QT_POINTER_SIZE != 4
38
39int QStaticByteArrayMatcherBase::indexOfIn(const char *h, uint hl, const char *n, int nl, int from) const noexcept
40{
41 qsizetype r = indexOfIn(h, size_t(hl), n, qsizetype(nl), qsizetype(from));
42 Q_ASSERT(r == int(r));
43 return r;
44}
45
46# endif // QT_POINTER_SIZE != 4
47
48qsizetype QByteArrayMatcher::indexIn(const QByteArray &ba, qsizetype from) const
49{
50 return indexIn(QByteArrayView{ba}, from); // ba.isNull() may be significant, so don't ignore it!
51}
52
53#include "tools/qcryptographichash.h"
54
55void QCryptographicHash::addData(const QByteArray &data)
56{
57 addData(QByteArrayView{data});
58}
59
60QByteArray QCryptographicHash::hash(const QByteArray &data, Algorithm method)
61{
62 return hash(QByteArrayView{data}, method);
63}
64
65#include "qdatastream.h"
66
67# ifndef QT_NO_DATASTREAM
68# include "qfloat16.h"
69
70QDataStream &QDataStream::operator>>(qfloat16 &f)
71{
72 return *this >> reinterpret_cast<qint16&>(f);
73}
74
75QDataStream &QDataStream::operator<<(qfloat16 f)
76{
77 return *this << reinterpret_cast<qint16&>(f);
78}
79
80# endif
81
82#include "quuid.h"
83
84QUuid::QUuid(const QString &text)
85 : QUuid{qToAnyStringViewIgnoringNull(text)}
86{
87}
88
89QUuid::QUuid(const char *text)
90 : QUuid{QAnyStringView(text)}
91{
92}
93
94QUuid::QUuid(const QByteArray &text)
95 : QUuid{qToAnyStringViewIgnoringNull(text)}
96{
97}
98
99QUuid QUuid::fromString(QStringView string) noexcept
100{
101 return fromString(QAnyStringView{string});
102}
103
104QUuid QUuid::fromString(QLatin1StringView string) noexcept
105{
106 return fromString(QAnyStringView{string});
107}
108
109QUuid QUuid::fromRfc4122(const QByteArray &bytes)
110{
111 return fromRfc4122(qToByteArrayViewIgnoringNull(bytes));
112}
113
114#include "qbytearraylist.h"
115
116# if QT_POINTER_SIZE != 4
117QByteArray QtPrivate::QByteArrayList_join(const QByteArrayList *that, const char *sep, int seplen)
118{
119 return QByteArrayList_join(that, sep, qsizetype(seplen));
120}
121# endif
122
123#include "qlocale.h"
124
125QString QLocale::languageToCode(Language language)
126{
127 return languageToCode(language, QLocale::AnyLanguageCode);
128}
129
130QLocale::Language QLocale::codeToLanguage(QStringView languageCode) noexcept
131{
132 return codeToLanguage(languageCode, QLocale::AnyLanguageCode);
133}
134
135#include "qoperatingsystemversion.h"
136
137QString QOperatingSystemVersion::name() const
138{
139 return QOperatingSystemVersionBase::name();
140}
141
142int QOperatingSystemVersion::compare(const QOperatingSystemVersion &v1,
143 const QOperatingSystemVersion &v2)
144{
145 return QOperatingSystemVersionBase::compare(v1, v2);
146}
147
148#include "qurl.h"
149
150QString QUrl::fromAce(const QByteArray &domain)
151{
152 return fromAce(domain, {});
153}
154
155QByteArray QUrl::toAce(const QString &domain)
156{
157 return toAce(domain, {});
158}
159
160#endif // QT_CORE_REMOVED_SINCE(6, 3)
161
162#if QT_CORE_REMOVED_SINCE(6, 4)
163
164#include "qbytearray.h" // uses QT_CORE_INLINE_SINCE
165
166#include "qcalendar.h"
167
168QCalendar::QCalendar(QStringView name)
169 : QCalendar(QAnyStringView{name}) {}
170
171QCalendar::QCalendar(QLatin1StringView name)
172 : QCalendar(QAnyStringView{name}) {}
173
174#include "qcollator.h" // inline function compare(ptr, n, ptr, n) (for MSVC)
175
176#include "qhashfunctions.h"
177
178size_t qHash(const QByteArray &key, size_t seed) noexcept
179{
180 return qHashBits(key.constData(), size_t(key.size()), seed);
181}
182
183size_t qHash(const QByteArrayView &key, size_t seed) noexcept
184{
185 return qHashBits(key.constData(), size_t(key.size()), seed);
186}
187
188#include "qobject.h"
189
190void QObject::setObjectName(const QString &name)
191{
192 setObjectName<void>(name);
193}
194
195#include "qlocale.h" // uses QT_CORE_INLINE_SINCE
196
197#if QT_CONFIG(settings)
198
199#include "qsettings.h"
200
201void QSettings::beginGroup(const QString &prefix)
202{
203 beginGroup(qToAnyStringViewIgnoringNull(prefix));
204}
205
206int QSettings::beginReadArray(const QString &prefix)
207{
208 return beginReadArray(qToAnyStringViewIgnoringNull(prefix));
209}
210
211void QSettings::beginWriteArray(const QString &prefix, int size)
212{
213 beginWriteArray(qToAnyStringViewIgnoringNull(prefix), size);
214}
215
216void QSettings::setValue(const QString &key, const QVariant &value)
217{
218 setValue(qToAnyStringViewIgnoringNull(key), value);
219}
220
221void QSettings::remove(const QString &key)
222{
223 remove(qToAnyStringViewIgnoringNull(key));
224}
225
226bool QSettings::contains(const QString &key) const
227{
228 return contains(qToAnyStringViewIgnoringNull(key));
229}
230
231QVariant QSettings::value(const QString &key, const QVariant &defaultValue) const
232{
233 return value(qToAnyStringViewIgnoringNull(key), defaultValue);
234}
235
236QVariant QSettings::value(const QString &key) const
237{
238 return value(qToAnyStringViewIgnoringNull(key));
239}
240
241#endif // QT_CONFIG(settings)
242
243#include "qversionnumber.h"
244
245QT_WARNING_PUSH
246QT_WARNING_DISABLE_DEPRECATED
247
248QVersionNumber QVersionNumber::fromString(const QString &string, int *suffixIndex)
249{
250 return fromString(qToAnyStringViewIgnoringNull(string), suffixIndex);
251}
252
253QVersionNumber QVersionNumber::fromString(QStringView string, int *suffixIndex)
254{
255 return fromString(QAnyStringView{string}, suffixIndex);
256}
257
258QVersionNumber QVersionNumber::fromString(QLatin1StringView string, int *suffixIndex)
259{
260 return fromString(QAnyStringView{string}, suffixIndex);
261}
262
263QT_WARNING_POP
264
265// #include <qotherheader.h>
266// // implement removed functions from qotherheader.h
267// order sections alphabetically to reduce chances of merge conflicts
268
269#endif // QT_CORE_REMOVED_SINCE(6, 4)
270
271#if QT_CORE_REMOVED_SINCE(6, 5)
272
273#include "qbasictimer.h" // inlined API
274
275#include "qbuffer.h" // inline removed API
276
277#include "qdir.h"
278
279uint QDir::count() const
280{
281 return uint(count(QT6_CALL_NEW_OVERLOAD));
282}
283
284#if QT_POINTER_SIZE != 4
285QString QDir::operator[](int i) const
286{
287 return operator[](qsizetype{i});
288}
289#endif
290
291#include "qtenvironmentvariables.h"
292
293bool qputenv(const char *varName, const QByteArray &value)
294{
295 return qputenv(varName, qToByteArrayViewIgnoringNull(value));
296}
297
298#include "qmetatype.h"
299
300int QMetaType::idHelper() const
301{
302 Q_ASSERT(d_ptr);
303 return registerHelper(d_ptr);
304}
305
306#if QT_CONFIG(sharedmemory)
307#include "qsharedmemory.h"
308
309void QSharedMemory::setNativeKey(const QString &key)
310{
311 setNativeKey(key, QNativeIpcKey::legacyDefaultTypeForOs());
312}
313#endif
314
315#include "qvariant.h"
316
317// these implementations aren't as efficient as they used to be prior to
318// replacement, but there's no way to call the ambiguous overload
319QVariant::QVariant(const QUuid &uuid) : QVariant(QVariant::fromValue(uuid)) {}
320#include "qline.h"
321#include "qpoint.h"
322#include "qrect.h"
323#include "qsize.h"
324QVariant::QVariant(const QPoint &pt) : QVariant(QVariant::fromValue(pt)) {}
325QVariant::QVariant(const QPointF &pt) : QVariant(QVariant::fromValue(pt)) {}
326QVariant::QVariant(const QRect &r) : QVariant(QVariant::fromValue(r)) {}
327QVariant::QVariant(const QRectF &r) : QVariant(QVariant::fromValue(r)) {}
328QVariant::QVariant(const QLine &l) : QVariant(QVariant::fromValue(l)) {}
329QVariant::QVariant(const QLineF &l) : QVariant(QVariant::fromValue(l)) {}
330QVariant::QVariant(const QSize &s) : QVariant(QVariant::fromValue(s)) {}
331QVariant::QVariant(const QSizeF &s) : QVariant(QVariant::fromValue(s)) {}
332
333#if QT_CONFIG(xmlstreamreader)
334
335#include "qxmlstream.h"
336
337QXmlStreamReader::QXmlStreamReader(const QByteArray &data)
338 : QXmlStreamReader(data, PrivateConstructorTag{})
339{
340}
341
342QXmlStreamReader::QXmlStreamReader(const QString &data)
343 : QXmlStreamReader(qToAnyStringViewIgnoringNull(data))
344{
345}
346
347QXmlStreamReader::QXmlStreamReader(const char *data)
348 : QXmlStreamReader(QAnyStringView(data))
349{
350}
351
352void QXmlStreamReader::addData(const QByteArray &data)
353{
354 addData<>(data);
355}
356void QXmlStreamReader::addData(const QString &data)
357{
358 addData(qToAnyStringViewIgnoringNull(data));
359}
360
361void QXmlStreamReader::addData(const char *data)
362{
363 addData(QAnyStringView(data));
364}
365
366#endif // QT_CONFIG(xmlstreamreader)
367
368#if QT_CONFIG(xmlstreamwriter)
369
370#include "qxmlstream.h"
371
372void QXmlStreamWriter::writeAttribute(const QString &qualifiedName, const QString &value)
373{
374 writeAttribute(qToAnyStringViewIgnoringNull(qualifiedName),
375 qToAnyStringViewIgnoringNull(value));
376}
377
378void QXmlStreamWriter::writeAttribute(const QString &namespaceUri, const QString &name, const QString &value)
379{
380 writeAttribute(qToAnyStringViewIgnoringNull(namespaceUri),
381 qToAnyStringViewIgnoringNull(name),
382 qToAnyStringViewIgnoringNull(value));
383}
384
385void QXmlStreamWriter::writeCDATA(const QString &text)
386{
387 writeCDATA(qToAnyStringViewIgnoringNull(text));
388}
389
390void QXmlStreamWriter::writeCharacters(const QString &text)
391{
392 writeCharacters(qToAnyStringViewIgnoringNull(text));
393}
394
395void QXmlStreamWriter::writeComment(const QString &text)
396{
397 writeComment(qToAnyStringViewIgnoringNull(text));
398}
399
400void QXmlStreamWriter::writeDTD(const QString &dtd)
401{
402 writeDTD(qToAnyStringViewIgnoringNull(dtd));
403}
404
405void QXmlStreamWriter::writeEmptyElement(const QString &qualifiedName)
406{
407 writeEmptyElement(qToAnyStringViewIgnoringNull(qualifiedName));
408}
409
410void QXmlStreamWriter::writeEmptyElement(const QString &namespaceUri, const QString &name)
411{
412 writeEmptyElement(qToAnyStringViewIgnoringNull(namespaceUri),
413 qToAnyStringViewIgnoringNull(name));
414}
415
416void QXmlStreamWriter::writeTextElement(const QString &qualifiedName, const QString &text)
417{
418 writeTextElement(qToAnyStringViewIgnoringNull(qualifiedName),
419 qToAnyStringViewIgnoringNull(text));
420}
421
422void QXmlStreamWriter::writeTextElement(const QString &namespaceUri, const QString &name, const QString &text)
423{
424 writeTextElement(qToAnyStringViewIgnoringNull(namespaceUri),
425 qToAnyStringViewIgnoringNull(name),
426 qToAnyStringViewIgnoringNull(text));
427}
428
429void QXmlStreamWriter::writeEntityReference(const QString &name)
430{
431 writeEntityReference(qToAnyStringViewIgnoringNull(name));
432}
433
434void QXmlStreamWriter::writeNamespace(const QString &namespaceUri, const QString &prefix)
435{
436 writeNamespace(qToAnyStringViewIgnoringNull(namespaceUri),
437 qToAnyStringViewIgnoringNull(prefix));
438}
439
440void QXmlStreamWriter::writeDefaultNamespace(const QString &namespaceUri)
441{
442 writeDefaultNamespace(qToAnyStringViewIgnoringNull(namespaceUri));
443}
444
445void QXmlStreamWriter::writeProcessingInstruction(const QString &target, const QString &data)
446{
447 writeProcessingInstruction(qToAnyStringViewIgnoringNull(target),
448 qToAnyStringViewIgnoringNull(data));
449}
450
451void QXmlStreamWriter::writeStartDocument(const QString &version)
452{
453 writeStartDocument(qToAnyStringViewIgnoringNull(version));
454}
455
456void QXmlStreamWriter::writeStartDocument(const QString &version, bool standalone)
457{
458 writeStartDocument(qToAnyStringViewIgnoringNull(version),
459 standalone);
460}
461
462void QXmlStreamWriter::writeStartElement(const QString &qualifiedName)
463{
464 writeStartElement(qToAnyStringViewIgnoringNull(qualifiedName));
465}
466
467void QXmlStreamWriter::writeStartElement(const QString &namespaceUri, const QString &name)
468{
469 writeStartElement(qToAnyStringViewIgnoringNull(namespaceUri),
470 qToAnyStringViewIgnoringNull(name));
471}
472
473#endif // QT_CONFIG(xmlstreamwriter)
474
475// inlined API
476#include "qfloat16.h"
477#include "qstring.h"
478
479// #include "qotherheader.h"
480// // implement removed functions from qotherheader.h
481// order sections alphabetically to reduce chances of merge conflicts
482
483#endif // QT_CORE_REMOVED_SINCE(6, 5)
484
485#if QT_CORE_REMOVED_SINCE(6, 6)
486
487#include "qmessageauthenticationcode.h"
488
489QMessageAuthenticationCode::QMessageAuthenticationCode(QCryptographicHash::Algorithm method,
490 const QByteArray &key)
491 : QMessageAuthenticationCode(method, qToByteArrayViewIgnoringNull(key)) {}
492
493void QMessageAuthenticationCode::setKey(const QByteArray &key)
494{
495 setKey(qToByteArrayViewIgnoringNull(key));
496}
497
498void QMessageAuthenticationCode::addData(const QByteArray &data)
499{
500 addData(qToByteArrayViewIgnoringNull(data));
501}
502
503QByteArray QMessageAuthenticationCode::hash(const QByteArray &msg, const QByteArray &key,
504 QCryptographicHash::Algorithm method)
505{
506 return hash(qToByteArrayViewIgnoringNull(msg),
507 qToByteArrayViewIgnoringNull(key), method);
508}
509
510#include "qobject.h" // inlined API
511
512#include "qrunnable.h"
513
514QRunnable *QRunnable::create(std::function<void()> functionToRun)
515{
516 return QRunnable::create<std::function<void()>>(std::move(functionToRun));
517}
518
519#include "qstring.h"
520
521qsizetype QString::toUcs4_helper(const ushort *uc, qsizetype length, uint *out)
522{
523 return toUcs4_helper(reinterpret_cast<const char16_t *>(uc), length,
524 reinterpret_cast<char32_t *>(out));
525}
526
527#if QT_CONFIG(thread)
528#include "qreadwritelock.h"
529
530bool QReadWriteLock::tryLockForRead()
531{
532 return tryLockForRead(0);
533}
534
535bool QReadWriteLock::tryLockForWrite()
536{
537 return tryLockForWrite(0);
538}
539
540#include "qthreadpool.h"
541#include "private/qthreadpool_p.h"
542
543void QThreadPool::start(std::function<void()> functionToRun, int priority)
544{
545 if (!functionToRun)
546 return;
547 start(QRunnable::create(std::move(functionToRun)), priority);
548}
549
550bool QThreadPool::tryStart(std::function<void()> functionToRun)
551{
552 if (!functionToRun)
553 return false;
554
555 Q_D(QThreadPool);
556 QMutexLocker locker(&d->mutex);
557 if (!d->allThreads.isEmpty() && d->areAllThreadsActive())
558 return false;
559
560 QRunnable *runnable = QRunnable::create(std::move(functionToRun));
561 if (d->tryStart(runnable))
562 return true;
563 delete runnable;
564 return false;
565}
566
567void QThreadPool::startOnReservedThread(std::function<void()> functionToRun)
568{
569 if (!functionToRun)
570 return releaseThread();
571
572 startOnReservedThread(QRunnable::create(std::move(functionToRun)));
573}
574
575#endif // QT_CONFIG(thread)
576
577#if QT_CONFIG(xmlstream)
578
579#include "qxmlstream.h"
580
581QStringView QXmlStreamAttributes::value(const QString &namespaceUri, const QString &name) const
582{
583 return value(qToAnyStringViewIgnoringNull(namespaceUri), qToAnyStringViewIgnoringNull(name));
584}
585
586QStringView QXmlStreamAttributes::value(const QString &namespaceUri, QLatin1StringView name) const
587{
588 return value(qToAnyStringViewIgnoringNull(namespaceUri), QAnyStringView(name));
589}
590
591QStringView QXmlStreamAttributes::value(QLatin1StringView namespaceUri, QLatin1StringView name) const
592{
593 return value(QAnyStringView(namespaceUri), QAnyStringView(name));
594}
595
596QStringView QXmlStreamAttributes::value(const QString &qualifiedName) const
597{
598 return value(qToAnyStringViewIgnoringNull(qualifiedName));
599}
600
601QStringView QXmlStreamAttributes::value(QLatin1StringView qualifiedName) const
602{
603 return value(QAnyStringView(qualifiedName));
604}
605
606#endif // xmlstream
607
608// inlined API
609#if QT_CONFIG(thread)
610#include "qmutex.h"
611#include "qreadwritelock.h"
612#include "qsemaphore.h"
613#endif
614
615// #include "qotherheader.h"
616// // implement removed functions from qotherheader.h
617// order sections alphabetically to reduce chances of merge conflicts
618
619#endif // QT_CORE_REMOVED_SINCE(6, 6)
620
621#if QT_CORE_REMOVED_SINCE(6, 7)
622
623#include "qbitarray.h"
624
625QBitArray QBitArray::operator~() const
626{
627 return QBitArray(*this).inverted_inplace();
628}
629
630#include "qbytearray.h"
631
632QByteArray QByteArray::left(qsizetype len) const
633{
634 if (len >= size())
635 return *this;
636 if (len < 0)
637 len = 0;
638 return QByteArray(data(), len);
639}
640
641QByteArray QByteArray::right(qsizetype len) const
642{
643 if (len >= size())
644 return *this;
645 if (len < 0)
646 len = 0;
647 return QByteArray(end() - len, len);
648}
649
650QByteArray QByteArray::mid(qsizetype pos, qsizetype len) const
651{
652 qsizetype p = pos;
653 qsizetype l = len;
654 using namespace QtPrivate;
655 switch (QContainerImplHelper::mid(size(), &p, &l)) {
656 case QContainerImplHelper::Null:
657 return QByteArray();
658 case QContainerImplHelper::Empty:
659 {
660 return QByteArray(DataPointer::fromRawData(&_empty, 0));
661 }
662 case QContainerImplHelper::Full:
663 return *this;
664 case QContainerImplHelper::Subset:
665 return QByteArray(d.data() + p, l);
666 }
667 Q_UNREACHABLE_RETURN(QByteArray());
668}
669
670#ifdef Q_CC_MSVC
671// previously inline methods, only needed for MSVC compat
672QByteArray QByteArray::first(qsizetype n) const
673{ return sliced(0, n); }
674QByteArray QByteArray::last(qsizetype n) const
675{ return sliced(size() - n, n); }
676QByteArray QByteArray::sliced(qsizetype pos) const
677{ return sliced(pos, size() - pos); }
678QByteArray QByteArray::sliced(qsizetype pos, qsizetype n) const
679{ verify(pos, n); return QByteArray(d.data() + pos, n); }
680QByteArray QByteArray::chopped(qsizetype n) const
681{ return sliced(0, size() - n); }
682#endif
683
684#include "qcborstreamreader.h"
685
686QCborError QCborStreamReader::lastError()
687{
688 return std::as_const(*this).lastError();
689}
690
691#include "qdatetime.h" // also inlined API
692
693QDateTime::QDateTime(QDate date, QTime time, const QTimeZone &timeZone)
694 : QDateTime(date, time, timeZone, TransitionResolution::LegacyBehavior) {}
695QDateTime::QDateTime(QDate date, QTime time)
696 : QDateTime(date, time, TransitionResolution::LegacyBehavior) {}
697void QDateTime::setDate(QDate date) { setDate(date, TransitionResolution::LegacyBehavior); }
698void QDateTime::setTime(QTime time) { setTime(time, TransitionResolution::LegacyBehavior); }
699void QDateTime::setTimeZone(const QTimeZone &toZone)
700{
701 setTimeZone(toZone, TransitionResolution::LegacyBehavior);
702}
703
704bool QDateTime::precedes(const QDateTime &other) const
705{
706 return compareThreeWay(*this, other) < 0;
707}
708
709#include "qdatastream.h"
710
711QDataStream &QDataStream::writeBytes(const char *s, uint len)
712{
713 return writeBytes(s, qint64(len));
714}
715
716int QDataStream::skipRawData(int len)
717{
718 return int(skipRawData(qint64(len)));
719}
720
721int QDataStream::readBlock(char *data, int len)
722{
723 return int(readBlock(data, qint64(len)));
724}
725
726int QDataStream::readRawData(char *s, int len)
727{
728 return int(readRawData(s, qint64(len)));
729}
730
731int QDataStream::writeRawData(const char *s, int len)
732{
733 return writeRawData(s, qint64(len));
734}
735
736#if defined(Q_OS_ANDROID)
737
738#include "qjniobject.h"
739
740jclass QJniObject::loadClass(const QByteArray &className, JNIEnv *env, bool /*binEncoded*/)
741{
742 return QJniObject::loadClass(className, env);
743}
744
745QByteArray QJniObject::toBinaryEncClassName(const QByteArray &className)
746{
747 return QByteArray(className).replace('/', '.');
748}
749
750void QJniObject::callVoidMethodV(JNIEnv *env, jmethodID id, va_list args) const
751{
752 env->CallVoidMethodV(javaObject(), id, args);
753}
754
755#endif // Q_OS_ANDROID
756
757#include "qlocale.h"
758#include "qlist.h"
759#include "qstringlist.h"
760
761QStringList QLocale::uiLanguages() const
762{
763 return uiLanguages(TagSeparator::Dash);
764}
765
766QString QLocale::name() const
767{
768 return name(TagSeparator::Underscore);
769}
770
771QString QLocale::bcp47Name() const
772{
773 return bcp47Name(TagSeparator::Dash);
774}
775
776#if QT_CONFIG(datestring)
777
778QDate QLocale::toDate(const QString &string, FormatType format) const
779{
780 return toDate(string, dateFormat(format), DefaultTwoDigitBaseYear);
781}
782
783QDate QLocale::toDate(const QString &string, FormatType format, QCalendar cal) const
784{
785 return toDate(string, dateFormat(format), cal, DefaultTwoDigitBaseYear);
786}
787
788QDateTime QLocale::toDateTime(const QString &string, FormatType format) const
789{
790 return toDateTime(string, dateTimeFormat(format), DefaultTwoDigitBaseYear);
791}
792
793QDateTime QLocale::toDateTime(const QString &string, FormatType format, QCalendar cal) const
794{
795 return toDateTime(string, dateTimeFormat(format), cal, DefaultTwoDigitBaseYear);
796}
797
798QDate QLocale::toDate(const QString &string, const QString &format) const
799{
800 return toDate(string, format, QCalendar(), DefaultTwoDigitBaseYear);
801}
802
803QDate QLocale::toDate(const QString &string, const QString &format, QCalendar cal) const
804{
805 return toDate(string, format, cal, DefaultTwoDigitBaseYear);
806}
807
808QDateTime QLocale::toDateTime(const QString &string, const QString &format) const
809{
810 return toDateTime(string, format, QCalendar(), DefaultTwoDigitBaseYear);
811}
812
813QDateTime QLocale::toDateTime(const QString &string, const QString &format, QCalendar cal) const
814{
815 return toDateTime(string, format, cal, DefaultTwoDigitBaseYear);
816}
817
818#endif // datestring
819
820#include "qobject.h"
821
822void qt_qFindChildren_helper(const QObject *parent, const QMetaObject &mo,
823 QList<void*> *list, Qt::FindChildOptions options)
824{
825 qt_qFindChildren_helper(parent, QAnyStringView(), mo, list, options);
826}
827
828void qt_qFindChildren_helper(const QObject *parent, const QString &name, const QMetaObject &mo,
829 QList<void*> *list, Qt::FindChildOptions options)
830{
831 qt_qFindChildren_helper(parent, QAnyStringView{name}, mo, list, options);
832}
833
834QObject *qt_qFindChild_helper(const QObject *parent, const QString &name, const QMetaObject &mo,
835 Qt::FindChildOptions options)
836{
837 return qt_qFindChild_helper(parent, QAnyStringView{name}, mo, options);
838}
839
840void QObject::moveToThread(QThread *targetThread)
841{
842 moveToThread(targetThread, QT6_CALL_NEW_OVERLOAD);
843}
844
845#include "qobjectdefs.h"
846
847bool QMetaObject::invokeMethodImpl(QObject *object, QtPrivate::QSlotObjectBase *slot, Qt::ConnectionType type, void *ret)
848{
849 return invokeMethodImpl(object, slot, type, 1, &ret, nullptr, nullptr);
850}
851
852#include "qstring.h"
853
854QString QString::left(qsizetype n) const
855{
856 if (size_t(n) >= size_t(size()))
857 return *this;
858 return QString((const QChar*) d.data(), n);
859}
860
861QString QString::right(qsizetype n) const
862{
863 if (size_t(n) >= size_t(size()))
864 return *this;
865 return QString(constData() + size() - n, n);
866}
867
868QString QString::mid(qsizetype position, qsizetype n) const
869{
870 qsizetype p = position;
871 qsizetype l = n;
872 using namespace QtPrivate;
873 switch (QContainerImplHelper::mid(size(), &p, &l)) {
874 case QContainerImplHelper::Null:
875 return QString();
876 case QContainerImplHelper::Empty:
877 return QString(DataPointer::fromRawData(&_empty, 0));
878 case QContainerImplHelper::Full:
879 return *this;
880 case QContainerImplHelper::Subset:
881 return QString(constData() + p, l);
882 }
883 Q_UNREACHABLE_RETURN(QString());
884}
885
886#ifdef Q_CC_MSVC
887// previously inline methods, only needed for MSVC compat
888QString QString::first(qsizetype n) const
889{ return sliced(0, n); }
890QString QString::last(qsizetype n) const
891{ return sliced(size() - n, n); }
892QString QString::sliced(qsizetype pos) const
893{ return sliced(pos, size() - pos); }
894QString QString::sliced(qsizetype pos, qsizetype n) const
895{ verify(pos, n); return QString(begin() + pos, n); }
896QString QString::chopped(qsizetype n) const
897{ return sliced(0, size() - n); }
898#endif
899
900#include "qtimezone.h"
901
902bool QTimeZone::operator==(const QTimeZone &other) const
903{
904 return comparesEqual(*this, other);
905}
906
907bool QTimeZone::operator!=(const QTimeZone &other) const
908{
909 return !comparesEqual(*this, other);
910}
911
912#include "qurl.h"
913
914QUrl QUrl::fromEncoded(const QByteArray &input, ParsingMode mode)
915{
916 return QUrl::fromEncoded(QByteArrayView(input), mode);
917}
918
919
920// #include "qotherheader.h"
921// // implement removed functions from qotherheader.h
922// order sections alphabetically to reduce chances of merge conflicts
923
924#endif // QT_CORE_REMOVED_SINCE(6, 7)
925
926#if QT_CORE_REMOVED_SINCE(6, 8)
927
928#if QT_CONFIG(itemmodel)
929#include "qabstractitemmodel.h"
930
931bool QPersistentModelIndex::operator<(const QPersistentModelIndex &other) const noexcept
932{
933 return is_lt(compareThreeWay(*this, other));
934}
935
936bool QPersistentModelIndex::operator==(const QPersistentModelIndex &other) const noexcept
937{
938 return comparesEqual(*this, other);
939}
940
941bool QPersistentModelIndex::operator==(const QModelIndex &other) const noexcept
942{
943 return comparesEqual(*this, other);
944}
945
946bool QPersistentModelIndex::operator!=(const QModelIndex &other) const noexcept
947{
948 return !comparesEqual(*this, other);
949}
950
951#endif // QT_CONFIG(itemmodel)
952
953#include "qbitarray.h" // inlined API
954
955#include "qbytearray.h" // inlined API
956
957QT_BEGIN_NAMESPACE
958namespace QtPrivate {
959Q_CORE_EXPORT qsizetype lastIndexOf(QByteArrayView haystack, qsizetype from, char needle) noexcept
960{
961 return lastIndexOf(haystack, from, uchar(needle));
962}
963}
964QT_END_NAMESPACE
965
966#include "qcborarray.h" // inlined API
967
968#include "qcbormap.h" // inlined API
969
970#include "qcborvalue.h" // inlined API
971
972#include "qdatastream.h" // inlined API
973
974QDataStream &QDataStream::operator<<(bool i)
975{
976 return (*this << qint8(i));
977}
978
979#include "qdebug.h"
980
981Q_CORE_EXPORT void qt_QMetaEnum_flagDebugOperator(QDebug &debug, size_t sizeofT, int value)
982{
983 qt_QMetaEnum_flagDebugOperator(debug, sizeofT, uint(value));
984}
985
986#include "qdir.h" // inlined API
987
988bool QDir::operator==(const QDir &dir) const
989{
990 return comparesEqual(*this, dir);
991}
992
993#if QT_CONFIG(easingcurve)
994#include "qeasingcurve.h"
995
996bool QEasingCurve::operator==(const QEasingCurve &other) const
997{
998 return comparesEqual(*this, other);
999}
1000#endif // QT_CONFIG(easingcurve)
1001
1002#include "qfileinfo.h" // inlined API
1003
1004bool QFileInfo::operator==(const QFileInfo &fileinfo) const
1005{
1006 return comparesEqual(*this, fileinfo);
1007}
1008
1009#if QT_CONFIG(itemmodel)
1010#include "qitemselectionmodel.h" // inlined API
1011#endif // itemmodel
1012
1013#include "qjsonarray.h"
1014
1015bool QJsonArray::operator==(const QJsonArray &other) const
1016{
1017 return comparesEqual(*this, other);
1018}
1019
1020bool QJsonArray::operator!=(const QJsonArray &other) const
1021{
1022 return !comparesEqual(*this, other);
1023}
1024
1025#include "qjsondocument.h"
1026
1027bool QJsonDocument::operator==(const QJsonDocument &other) const
1028{
1029 return comparesEqual(*this, other);
1030}
1031
1032#include "qjsonobject.h"
1033
1034bool QJsonObject::operator==(const QJsonObject &other) const
1035{
1036 return comparesEqual(*this, other);
1037}
1038
1039
1040bool QJsonObject::operator!=(const QJsonObject &other) const
1041{
1042 return !comparesEqual(*this, other);
1043}
1044
1045#include "qjsonvalue.h"
1046
1047bool QJsonValue::operator==(const QJsonValue &other) const
1048{
1049 return comparesEqual(*this, other);
1050}
1051
1052bool QJsonValue::operator!=(const QJsonValue &other) const
1053{
1054 return !comparesEqual(*this, other);
1055}
1056
1057#include "qline.h" // inlined API
1058
1059#if QT_CONFIG(mimetype)
1060#include "qmimetype.h"
1061
1062bool QMimeType::operator==(const QMimeType &other) const
1063{
1064 return comparesEqual(*this, other);
1065}
1066#endif // QT_CONFIG(mimetype)
1067
1068#include "qobject.h"
1069#include "qnumeric.h"
1070
1071int QObject::startTimer(std::chrono::milliseconds time, Qt::TimerType timerType)
1072{
1073 using namespace std::chrono;
1074 using ratio = std::ratio_divide<std::milli, std::nano>;
1075 nanoseconds::rep r;
1076 if (qMulOverflow<ratio::num>(time.count(), &r)) {
1077 qWarning("QObject::startTimer(std::chrono::milliseconds): "
1078 "'time' arg overflowed when converted to nanoseconds.");
1079 r = nanoseconds::max().count();
1080 }
1081 return startTimer(nanoseconds{r}, timerType);
1082}
1083
1084#if QT_CONFIG(processenvironment)
1085#include "qprocess.h" // inlined API
1086
1087bool QProcessEnvironment::operator==(const QProcessEnvironment &other) const
1088{
1089 return comparesEqual(*this, other);
1090}
1091#endif // QT_CONFIG(processenvironment)
1092
1093#if QT_CONFIG(regularexpression)
1094#include "qregularexpression.h"
1095
1096bool QRegularExpressionMatch::hasCaptured(QStringView name) const
1097{
1098 return hasCaptured(QAnyStringView(name));
1099}
1100
1101QString QRegularExpressionMatch::captured(QStringView name) const
1102{
1103 return captured(QAnyStringView(name));
1104}
1105
1106QStringView QRegularExpressionMatch::capturedView(QStringView name) const
1107{
1108 return capturedView(QAnyStringView(name));
1109}
1110
1111qsizetype QRegularExpressionMatch::capturedStart(QStringView name) const
1112{
1113 return capturedStart(QAnyStringView(name));
1114}
1115
1116qsizetype QRegularExpressionMatch::capturedLength(QStringView name) const
1117{
1118 return capturedLength(QAnyStringView(name));
1119}
1120
1121qsizetype QRegularExpressionMatch::capturedEnd(QStringView name) const
1122{
1123 return capturedEnd(QAnyStringView(name));
1124}
1125
1126bool QRegularExpression::operator==(const QRegularExpression &other) const
1127{
1128 return comparesEqual(*this, other);
1129}
1130#endif // QT_CONFIG(regularexpression)
1131
1132#if QT_CONFIG(future)
1133#include "qresultstore.h"
1134
1135bool QtPrivate::ResultIteratorBase::operator==(const QtPrivate::ResultIteratorBase &other) const
1136{
1137 return comparesEqual(*this, other);
1138}
1139
1140bool QtPrivate::ResultIteratorBase::operator!=(const QtPrivate::ResultIteratorBase &other) const
1141{
1142 return !comparesEqual(*this, other);
1143}
1144#endif // QT_CONFIG(future)
1145
1146#include "qstring.h" // inlined API
1147
1148#include "qstringconverter.h"
1149
1150QStringConverter::QStringConverter(const char *name, Flags f)
1151 : QStringConverter(QAnyStringView{name}, f)
1152{}
1153
1154auto QStringConverter::encodingForName(const char *name) noexcept -> std::optional<Encoding>
1155{
1156 return encodingForName(QAnyStringView{name});
1157}
1158
1159#if QT_CONFIG(thread)
1160# include "qthreadpool.h" // inlined API
1161#endif
1162
1163#include "qtimer.h" // inlined API
1164 // removed inline API (MSVC)
1165
1166void QTimer::singleShot(std::chrono::milliseconds interval, Qt::TimerType timerType,
1167 const QObject *receiver, const char *member)
1168{
1169 singleShot(from_msecs(interval), timerType, receiver, member);
1170}
1171
1172void QTimer::singleShotImpl(std::chrono::milliseconds interval, Qt::TimerType timerType,
1173 const QObject *receiver, QtPrivate::QSlotObjectBase *slotObj)
1174{
1175 QtPrivate::SlotObjUniquePtr slot(slotObj); // don't leak if from_msecs throws
1176 const auto ns = from_msecs(interval);
1177 singleShotImpl(ns, timerType, receiver, slot.release());
1178}
1179
1180#include "qurl.h"
1181
1182bool QUrl::operator<(const QUrl &url) const
1183{
1184 return is_lt(compareThreeWay(*this, url));
1185}
1186
1187bool QUrl::operator==(const QUrl &url) const
1188{
1189 return comparesEqual(*this, url);
1190}
1191
1192bool QUrl::operator!=(const QUrl &url) const
1193{
1194 return !comparesEqual(*this, url);
1195}
1196
1197#include "qurlquery.h"
1198
1199bool QUrlQuery::operator==(const QUrlQuery &other) const
1200{
1201 return comparesEqual(*this, other);
1202}
1203
1204#include "qbasictimer.h"
1205
1206void QBasicTimer::start(std::chrono::milliseconds duration, QObject *object)
1207{
1208 start(std::chrono::nanoseconds(duration), object);
1209}
1210
1211void QBasicTimer::start(std::chrono::milliseconds duration, Qt::TimerType timerType, QObject *obj)
1212{
1213 start(std::chrono::nanoseconds(duration), timerType, obj);
1214}
1215
1216#include "quuid.h"
1217
1218bool QUuid::operator<(const QUuid &other) const noexcept
1219{
1220 return is_lt(compareThreeWay(*this, other));
1221}
1222
1223bool QUuid::operator>(const QUuid &other) const noexcept
1224{
1225 return is_gt(compareThreeWay(*this, other));
1226}
1227
1228QUuid QUuid::createUuidV3(const QUuid &ns, const QByteArray &baseData) noexcept
1229{
1230 return createUuidV3(ns, qToByteArrayViewIgnoringNull(baseData));
1231}
1232
1233QUuid QUuid::createUuidV5(const QUuid &ns, const QByteArray &baseData) noexcept
1234{
1235 return createUuidV5(ns, qToByteArrayViewIgnoringNull(baseData));
1236}
1237
1238#if QT_CONFIG(xmlstream)
1239#include "qxmlstream.h" // inlined API
1240#endif // QT_CONFIG(xmlstream)
1241
1242// #include "qotherheader.h"
1243// // implement removed functions from qotherheader.h
1244// order sections alphabetically to reduce chances of merge conflicts
1245
1246#endif // QT_CORE_REMOVED_SINCE(6, 8)
1247
1248#if QT_CORE_REMOVED_SINCE(6, 9)
1249
1250#include "qchar.h" // inlined API
1251
1252
1253#include "qexceptionhandling.h"
1254
1255QT_BEGIN_NAMESPACE
1256Q_NORETURN void qTerminate() noexcept
1257{
1258 std::terminate();
1259}
1260QT_END_NAMESPACE
1261
1262
1263#include "qmetatype.h"
1264
1265bool QMetaType::isRegistered() const
1266{
1267 return isRegistered(QT6_CALL_NEW_OVERLOAD);
1268}
1269
1270bool QMetaType::isValid() const
1271{
1272 return isValid(QT6_CALL_NEW_OVERLOAD);
1273}
1274
1275
1276#include "qmetaobject.h"
1277
1278const char *QMetaEnum::valueToKey(int value) const
1279{
1280 return valueToKey(quint64(uint(value)));
1281}
1282
1283QByteArray QMetaEnum::valueToKeys(int value) const
1284{
1285 return valueToKeys(quint64(uint(value)));
1286}
1287
1288
1289#include "qmutex.h"
1290
1291#if QT_CONFIG(thread)
1292void QBasicMutex::destroyInternal(QMutexPrivate *d)
1293{
1294 destroyInternal(static_cast<void *>(d));
1295}
1296#endif
1297
1298
1299#include "qobject.h"
1300#include "private/qobject_p.h"
1301
1302#ifdef Q_COMPILER_MANGLES_RETURN_TYPE
1303QMetaObject *QObjectData::dynamicMetaObject() const
1304{
1305 // ### keep in sync with the master version in qobject.cpp
1306 return metaObject->toDynamicMetaObject(q_ptr);
1307}
1308#endif // Q_COMPILER_MANGLES_RETURN_TYPE
1309
1310
1311#include "qstring.h"
1312
1313QString QString::arg(qlonglong a, int fieldWidth, int base, QChar fillChar) const
1314{
1315 return arg_impl(a, fieldWidth, base, fillChar);
1316}
1317
1318QString QString::arg(qulonglong a, int fieldWidth, int base, QChar fillChar) const
1319{
1320 return arg_impl(a, fieldWidth, base, fillChar);
1321}
1322
1323QString QString::arg(double a, int fieldWidth, char format, int precision, QChar fillChar) const
1324{
1325 return arg_impl(a, fieldWidth, format, precision, fillChar);
1326}
1327
1328QString QString::arg(char a, int fieldWidth, QChar fillChar) const
1329{
1330 return arg_impl(QAnyStringView(a), fieldWidth, fillChar);
1331}
1332
1333QString QString::arg(QChar a, int fieldWidth, QChar fillChar) const
1334{
1335 return arg_impl(QAnyStringView{a}, fieldWidth, fillChar);
1336}
1337
1338QString QString::arg(const QString &a, int fieldWidth, QChar fillChar) const
1339{
1340 return arg_impl(qToAnyStringViewIgnoringNull(a), fieldWidth, fillChar);
1341}
1342
1343QString QString::arg(QStringView a, int fieldWidth, QChar fillChar) const
1344{
1345 return arg_impl(QAnyStringView(a), fieldWidth, fillChar);
1346}
1347
1348QString QString::arg(QLatin1StringView a, int fieldWidth, QChar fillChar) const
1349{
1350 return arg(QAnyStringView(a), fieldWidth, fillChar);
1351}
1352
1353QString QtPrivate::argToQString(QStringView pattern, size_t n, const ArgBase **args)
1354{
1355 return argToQString(QAnyStringView{pattern}, n, args);
1356}
1357
1358QString QtPrivate::argToQString(QLatin1StringView pattern, size_t n, const ArgBase **args)
1359{
1360 return argToQString(QAnyStringView{pattern}, n, args);
1361}
1362
1363
1364#include "quuid.h"
1365
1366bool QUuid::isNull() const noexcept
1367{
1368 return isNull(QT6_CALL_NEW_OVERLOAD);
1369}
1370
1371QUuid::Variant QUuid::variant() const noexcept
1372{
1373 return variant(QT6_CALL_NEW_OVERLOAD);
1374}
1375
1376QUuid::Version QUuid::version() const noexcept
1377{
1378 return version(QT6_CALL_NEW_OVERLOAD);
1379}
1380
1381// #include "qotherheader.h"
1382// // implement removed functions from qotherheader.h
1383// order sections alphabetically to reduce chances of merge conflicts
1384
1385#endif // QT_CORE_REMOVED_SINCE(6, 9)
1386
1387#if QT_CORE_REMOVED_SINCE(6, 10)
1388
1389#include "qcborstreamwriter.h" // Q_WEAK_OVERLOAD added
1390
1391#include "qcoreapplication.h"
1392
1393#if QT_CONFIG(permissions)
1394void QCoreApplication::requestPermission(const QPermission &requestedPermission,
1395 QtPrivate::QSlotObjectBase *slotObjRaw, const QObject *context)
1396{
1397 return requestPermissionImpl(requestedPermission, slotObjRaw, context);
1398}
1399#endif
1400
1401#include "qdir.h"
1402
1403bool QDir::mkdir(const QString &dirName) const
1404{
1405 return mkdir(dirName, std::nullopt);
1406}
1407
1408bool QDir::mkdir(const QString &dirName, QFile::Permissions permissions) const
1409{
1410 return mkdir(dirName, std::optional{permissions});
1411}
1412
1413bool QDir::mkpath(const QString &dirPath) const
1414{
1415 return mkpath(dirPath, std::nullopt);
1416}
1417
1418#if QT_CONFIG(future)
1419#include "qfuture.h" // for ContinuationWrapper
1420#include "qfutureinterface.h"
1421
1422void QtPrivate::watchContinuationImpl(const QObject *context,
1423 QtPrivate::QSlotObjectBase *slotObj,
1424 QFutureInterfaceBase &fi)
1425{
1426 Q_ASSERT(context);
1427 Q_ASSERT(slotObj);
1428
1429 auto slot = QtPrivate::SlotObjUniquePtr(slotObj);
1430
1431 // That is now a double-inderection, because the setContinuation() overload
1432 // also uses QSlotObjectBase approach. But that's a solution for backwards
1433 // compatibility, so should be fine.
1434 // We pass a default-constructed QVariant() and an Unknown type, because
1435 // that's effectively the same as passing a nullptr continuationData, and
1436 // that's what the old code was doing.
1437 fi.setContinuation(context, QtPrivate::ContinuationWrapper([slot = std::move(slot)]()
1438 {
1439 void *args[] = { nullptr }; // for `void` return value
1440 slot->call(nullptr, args);
1441 }), QVariant(), QFutureInterfaceBase::ContinuationType::Unknown);
1442}
1443
1444void QFutureInterfaceBase::setContinuation(std::function<void(const QFutureInterfaceBase &)> func)
1445{
1446 setContinuation(std::move(func), nullptr);
1447}
1448
1449void QFutureInterfaceBase::setContinuation(std::function<void(const QFutureInterfaceBase &)> func,
1450 QFutureInterfaceBasePrivate *continuationFutureData)
1451{
1452 // Backwards compatibility - the continuation data was used for
1453 // then-continuations
1454 setContinuation(std::move(func), continuationFutureData, ContinuationType::Then);
1455}
1456#endif // QT_CONFIG(future)
1457
1458#include "qlockfile.h" // inlined API
1459
1460#include "qlogging.h"
1461
1462QNoDebug QMessageLogger::noDebug() const noexcept
1463{
1464 return QNoDebug();
1465}
1466
1467#include "qmutex.h" // removed, previously-inline API
1468
1469#include "qobject.h"
1470
1471bool QObject::doSetProperty(const char *name, const QVariant *lvalue, QVariant *rvalue)
1472{
1473 return doSetProperty(name, *lvalue, rvalue);
1474}
1475
1476#include "qstring.h" // inlined API
1477
1478#include "qvariant.h" // inlined API
1479
1480// #include "qotherheader.h"
1481// // implement removed functions from qotherheader.h
1482// order sections alphabetically to reduce chances of merge conflicts
1483
1484#endif // QT_CORE_REMOVED_SINCE(6, 10)
1485
1486#if QT_CORE_REMOVED_SINCE(6, 11)
1487
1488#include "qbytearray.h"
1489
1490QByteArray QByteArray::percentDecoded(char percent) const
1491{
1492 return fromPercentEncoding(*this, percent);
1493}
1494
1495#if QT_CONFIG(thread)
1496// some of the previously inlined API became removed
1497#include "qreadwritelock.h"
1498
1499void QReadWriteLock::lockForRead()
1500{
1501 tryLockForRead(QDeadlineTimer(QDeadlineTimer::Forever));
1502}
1503
1504bool QReadWriteLock::tryLockForRead(QDeadlineTimer timeout)
1505{
1506 return QBasicReadWriteLock::tryLockForRead(timeout);
1507}
1508
1509void QReadWriteLock::lockForWrite()
1510{
1511 tryLockForWrite(QDeadlineTimer(QDeadlineTimer::Forever));
1512}
1513
1514bool QReadWriteLock::tryLockForWrite(QDeadlineTimer timeout)
1515{
1516 return QBasicReadWriteLock::tryLockForWrite(timeout);
1517}
1518
1519void QReadWriteLock::unlock()
1520{
1521 QBasicReadWriteLock::unlock();
1522}
1523#endif // QT_CONFIG(thread)
1524
1525#include "qsavefile.h"
1526
1527QSaveFile::QSaveFile(const QString &name)
1528 : QSaveFile(name, nullptr)
1529{
1530}
1531
1532#include "qtimer.h"
1533
1534void QTimer::singleShotImpl(int msec, Qt::TimerType timerType,
1535 const QObject *receiver, QtPrivate::QSlotObjectBase *slotObj)
1536{
1537 singleShotImpl(std::chrono::milliseconds{msec}, timerType, receiver, slotObj);
1538}
1539
1540// #include "qotherheader.h"
1541// // implement removed functions from qotherheader.h
1542// order sections alphabetically to reduce chances of merge conflicts
1543
1544#endif // QT_CORE_REMOVED_SINCE(6, 11)
1545
1546#if QT_CORE_REMOVED_SINCE(6, 12)
1547
1548#include "qbytearrayalgorithms.h" // uses QT_CORE_CONSTEXPR_INLINE_SINCE
1549
1550#include "qfile.h"
1551
1552bool QFile::copy(const QString &newName)
1553{
1554 return copy(newName, std::nullopt);
1555}
1556
1557bool QFile::copy(const QString &fileName, const QString &newName)
1558{
1559 return QFile(fileName).copy(newName, std::nullopt);
1560}
1561
1562#include "qjsondocument.h" // uses QT_CORE_INLINE_SINCE
1563#include "qjsonvalue.h" // uses QT_CORE_INLINE_SINCE
1564
1565#include "qobjectdefs.h" // uses QT_CORE_INLINE_SINCE
1566
1567#include "qproperty.h"
1568
1569QUntypedPropertyBinding::QUntypedPropertyBinding(QPropertyBindingPrivate *priv)
1570 : QUntypedPropertyBinding(static_cast<void *>(priv))
1571{
1572}
1573
1574#if QT_CONFIG(thread)
1575#include "qreadwritelock.h"
1576
1577bool QBasicReadWriteLock::isContendedLockForRead(const void *dd)
1578{
1579 return describeLockInternal(const_cast<void *>(dd)) & StateLockedForRead;
1580}
1581
1582QReadWriteLockPrivate *QReadWriteLock::initRecursive()
1583{
1584 return initRecursive2();
1585}
1586
1587void QReadWriteLock::destroyRecursive(QReadWriteLockPrivate *d)
1588{
1589 destroyRecursive2(d);
1590}
1591#endif
1592
1593#if QT_CONFIG(timezone)
1594#include "qtimezone.h"
1595
1596bool QTimeZone::isTimeZoneIdAvailable(const QByteArray &ianaId)
1597{
1598 return isTimeZoneIdAvailable(QByteArrayView{ianaId});
1599}
1600#endif // QT_CONFIG(timezone)
1601
1602#include "qurlquery.h" // uses QT_CORE_INLINE_SINCE
1603
1604// #include "qotherheader.h"
1605// // implement removed functions from qotherheader.h
1606// order sections alphabetically to reduce chances of merge conflicts
1607
1608#endif // QT_CORE_REMOVED_SINCE(6, 12)