From 1f92a4005c8f3cd5d2427f2c2effc2f0f7acf381 Mon Sep 17 00:00:00 2001 From: Thiago Macieira Date: Thu, 10 Nov 2022 23:01:34 -0800 Subject: [PATCH] QString: rewrite toDouble() and toFloat() using QStringView The implementations are identical. Just reuse them. And move the two QStringView functions closer, instead of where they are today which lacks apparent motivation. Change-Id: Ieba79baf5ac34264a988fffd172675ac3584f94b Reviewed-by: Edward Welbourne (cherry picked from commit 308f9ae8f041e0cac47fdca55f1172a7d3ea892d) Reviewed-by: Qt Cherry-pick Bot --- src/corelib/text/qstring.cpp | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/src/corelib/text/qstring.cpp b/src/corelib/text/qstring.cpp index 39dea272857..18e0101f8e3 100644 --- a/src/corelib/text/qstring.cpp +++ b/src/corelib/text/qstring.cpp @@ -7368,6 +7368,11 @@ qulonglong QString::toIntegral_helper(QStringView string, bool *ok, uint base) */ double QString::toDouble(bool *ok) const +{ + return QStringView(*this).toDouble(ok); +} + +double QStringView::toDouble(bool *ok) const { return QLocaleData::c()->stringToDouble(*this, ok, QLocale::RejectGroupSeparator); } @@ -7407,6 +7412,11 @@ float QString::toFloat(bool *ok) const return QLocaleData::convertDoubleToFloat(toDouble(ok), ok); } +float QStringView::toFloat(bool *ok) const +{ + return QLocaleData::convertDoubleToFloat(toDouble(ok), ok); +} + /*! \fn QString &QString::setNum(int n, int base) Sets the string to the printed value of \a n in the specified \a @@ -11059,16 +11069,6 @@ void QAbstractConcatenable::appendLatin1To(QLatin1StringView in, QChar *out) noe qt_from_latin1(reinterpret_cast(out), in.data(), size_t(in.size())); } -double QStringView::toDouble(bool *ok) const -{ - return QLocaleData::c()->stringToDouble(*this, ok, QLocale::RejectGroupSeparator); -} - -float QStringView::toFloat(bool *ok) const -{ - return QLocaleData::convertDoubleToFloat(toDouble(ok), ok); -} - /*! \fn template qsizetype erase(QString &s, const T &t) \relates QString