summaryrefslogtreecommitdiffstats
path: root/src/corelib/time/qdatetime.cpp
diff options
context:
space:
mode:
authorIvan Solovev <ivan.solovev@qt.io>2024-01-25 17:09:07 +0100
committerIvan Solovev <ivan.solovev@qt.io>2024-01-29 16:06:46 +0100
commit59db912e860ddd045ea779fa579f2915535d0cf7 (patch)
tree4935db3301222df3a03631eac9fbf4afeca4c824 /src/corelib/time/qdatetime.cpp
parentd4d3d6fdba1e847fb174cd6b19efb3b10e273118 (diff)
QDate(Time)?::fromString(): do not use QCalendar as a default argument
QCalendar is not a trivial type, so using it as a default argument in various fromString() overloads introduces an extra overhead. In this case the function actually always needs a QCalendar object, and a default-constructed QCalendar reproduces a valid gregorian calendar. But getting rid of a default argument still gives us the benefit of constructing the object only in the library, not at every call site. So, split each overload into two - with and without a QCalendar argument. Amends 41f84f3ddb780ec751e3fc706dd242fc4a99de7a Found in 6.7 API review Pick-to: 6.7 Change-Id: I7329276cbda0e5471dc5348af92fc8c9ca4e0738 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Marc Mutz <marc.mutz@qt.io>
Diffstat (limited to 'src/corelib/time/qdatetime.cpp')
-rw-r--r--src/corelib/time/qdatetime.cpp54
1 files changed, 54 insertions, 0 deletions
diff --git a/src/corelib/time/qdatetime.cpp b/src/corelib/time/qdatetime.cpp
index cdb88a72d5..1f401948cc 100644
--- a/src/corelib/time/qdatetime.cpp
+++ b/src/corelib/time/qdatetime.cpp
@@ -1844,6 +1844,33 @@ QDate QDate::fromString(const QString &string, QStringView format, int baseYear,
\overload
\since 6.7
*/
+
+/*!
+ \fn QDate QDate::fromString(QStringView string, QStringView format, int baseYear)
+ \overload
+ \since 6.7
+
+ Uses a default-constructed QCalendar.
+*/
+
+/*!
+ \overload
+ \since 6.7
+
+ Uses a default-constructed QCalendar.
+*/
+QDate QDate::fromString(const QString &string, QStringView format, int baseYear)
+{
+ return fromString(string, format, baseYear, QCalendar());
+}
+
+/*!
+ \fn QDate QDate::fromString(const QString &string, const QString &format, int baseYear)
+ \overload
+ \since 6.7
+
+ Uses a default-constructed QCalendar.
+*/
#endif // datestring
/*!
@@ -5848,6 +5875,33 @@ QDateTime QDateTime::fromString(const QString &string, QStringView format, int b
\overload
\since 6.7
*/
+
+/*!
+ \fn QDateTime QDateTime::fromString(QStringView string, QStringView format, int baseYear)
+ \overload
+ \since 6.7
+
+ Uses a default-constructed QCalendar.
+*/
+
+/*!
+ \overload
+ \since 6.7
+
+ Uses a default-constructed QCalendar.
+*/
+QDateTime QDateTime::fromString(const QString &string, QStringView format, int baseYear)
+{
+ return fromString(string, format, baseYear, QCalendar());
+}
+
+/*!
+ \fn QDateTime QDateTime::fromString(const QString &string, const QString &format, int baseYear)
+ \overload
+ \since 6.7
+
+ Uses a default-constructed QCalendar.
+*/
#endif // datestring
/*****************************************************************************