summaryrefslogtreecommitdiffstats
path: root/src/corelib
diff options
context:
space:
mode:
authorThiago Macieira <thiago.macieira@intel.com>2014-02-03 17:33:00 -0800
committerThe Qt Project <gerrit-noreply@qt-project.org>2014-02-14 00:34:25 +0100
commit27ad3894e67a89439905321b388d75a278b4399a (patch)
treec9d1eff7ce94a509c6b730776da3031f4fcf3155 /src/corelib
parent5d6c42a253de5dfbcb15991b22e24da184eed890 (diff)
Merge the pairs of stringTo{Double,LongLong,UnsLongLong}
The difference between them was simply whether they operated on QString or QStringRef. So drop down to what's common between them: a pointer and a length (or two pointers, but numberToCLocale already operates on a pointer and a length). Change-Id: Ie7c8955ac13d6023761e6d3bafe7ab04bd6984e1 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Diffstat (limited to 'src/corelib')
-rw-r--r--src/corelib/tools/qlocale.cpp68
-rw-r--r--src/corelib/tools/qlocale_p.h11
-rw-r--r--src/corelib/tools/qstring.cpp12
3 files changed, 21 insertions, 70 deletions
diff --git a/src/corelib/tools/qlocale.cpp b/src/corelib/tools/qlocale.cpp
index a2fe056b94..d2d49637d3 100644
--- a/src/corelib/tools/qlocale.cpp
+++ b/src/corelib/tools/qlocale.cpp
@@ -1237,7 +1237,7 @@ qlonglong QLocale::toLongLong(const QString &s, bool *ok) const
? QLocalePrivate::FailOnGroupSeparators
: QLocalePrivate::ParseGroupSeparators;
- return d->stringToLongLong(s, 10, ok, mode);
+ return d->stringToLongLong(s.constData(), s.size(), 10, ok, mode);
}
/*!
@@ -1261,7 +1261,7 @@ qulonglong QLocale::toULongLong(const QString &s, bool *ok) const
? QLocalePrivate::FailOnGroupSeparators
: QLocalePrivate::ParseGroupSeparators;
- return d->stringToUnsLongLong(s, 10, ok, mode);
+ return d->stringToUnsLongLong(s.constData(), s.size(), 10, ok, mode);
}
/*!
@@ -1320,7 +1320,7 @@ double QLocale::toDouble(const QString &s, bool *ok) const
? QLocalePrivate::FailOnGroupSeparators
: QLocalePrivate::ParseGroupSeparators;
- return d->stringToDouble(s, ok, mode);
+ return d->stringToDouble(s.constData(), s.size(), ok, mode);
}
/*!
@@ -1450,7 +1450,7 @@ qlonglong QLocale::toLongLong(const QStringRef &s, bool *ok) const
? QLocalePrivate::FailOnGroupSeparators
: QLocalePrivate::ParseGroupSeparators;
- return d->stringToLongLong(s, 10, ok, mode);
+ return d->stringToLongLong(s.constData(), s.size(), 10, ok, mode);
}
/*!
@@ -1476,7 +1476,7 @@ qulonglong QLocale::toULongLong(const QStringRef &s, bool *ok) const
? QLocalePrivate::FailOnGroupSeparators
: QLocalePrivate::ParseGroupSeparators;
- return d->stringToUnsLongLong(s, 10, ok, mode);
+ return d->stringToUnsLongLong(s.constData(), s.size(), 10, ok, mode);
}
/*!
@@ -1537,7 +1537,7 @@ double QLocale::toDouble(const QStringRef &s, bool *ok) const
? QLocalePrivate::FailOnGroupSeparators
: QLocalePrivate::ParseGroupSeparators;
- return d->stringToDouble(s, ok, mode);
+ return d->stringToDouble(s.constData(), s.size(), ok, mode);
}
@@ -3246,12 +3246,11 @@ bool QLocalePrivate::validateChars(const QString &str, NumberMode numMode, QByte
return true;
}
-double QLocalePrivate::stringToDouble(const QString &number, bool *ok,
+double QLocalePrivate::stringToDouble(const QChar *begin, int len, bool *ok,
GroupSeparatorMode group_sep_mode) const
{
CharBuff buff;
- if (!numberToCLocale(number.unicode(), number.size(),
- group_sep_mode, &buff)) {
+ if (!numberToCLocale(begin, len, group_sep_mode, &buff)) {
if (ok != 0)
*ok = false;
return 0.0;
@@ -3259,12 +3258,11 @@ double QLocalePrivate::stringToDouble(const QString &number, bool *ok,
return bytearrayToDouble(buff.constData(), ok);
}
-qlonglong QLocalePrivate::stringToLongLong(const QString &number, int base,
+qlonglong QLocalePrivate::stringToLongLong(const QChar *begin, int len, int base,
bool *ok, GroupSeparatorMode group_sep_mode) const
{
CharBuff buff;
- if (!numberToCLocale(number.unicode(), number.size(),
- group_sep_mode, &buff)) {
+ if (!numberToCLocale(begin, len, group_sep_mode, &buff)) {
if (ok != 0)
*ok = false;
return 0;
@@ -3273,53 +3271,11 @@ qlonglong QLocalePrivate::stringToLongLong(const QString &number, int base,
return bytearrayToLongLong(buff.constData(), base, ok);
}
-qulonglong QLocalePrivate::stringToUnsLongLong(const QString &number, int base,
+qulonglong QLocalePrivate::stringToUnsLongLong(const QChar *begin, int len, int base,
bool *ok, GroupSeparatorMode group_sep_mode) const
{
CharBuff buff;
- if (!numberToCLocale(number.unicode(), number.size(),
- group_sep_mode, &buff)) {
- if (ok != 0)
- *ok = false;
- return 0;
- }
-
- return bytearrayToUnsLongLong(buff.constData(), base, ok);
-}
-
-double QLocalePrivate::stringToDouble(const QStringRef &number, bool *ok,
- GroupSeparatorMode group_sep_mode) const
-{
- CharBuff buff;
- if (!numberToCLocale(number.unicode(), number.size(),
- group_sep_mode, &buff)) {
- if (ok != 0)
- *ok = false;
- return 0.0;
- }
- return bytearrayToDouble(buff.constData(), ok);
-}
-
-qlonglong QLocalePrivate::stringToLongLong(const QStringRef &number, int base,
- bool *ok, GroupSeparatorMode group_sep_mode) const
-{
- CharBuff buff;
- if (!numberToCLocale(number.unicode(), number.size(),
- group_sep_mode, &buff)) {
- if (ok != 0)
- *ok = false;
- return 0;
- }
-
- return bytearrayToLongLong(buff.constData(), base, ok);
-}
-
-qulonglong QLocalePrivate::stringToUnsLongLong(const QStringRef &number, int base,
- bool *ok, GroupSeparatorMode group_sep_mode) const
-{
- CharBuff buff;
- if (!numberToCLocale(number.unicode(), number.size(),
- group_sep_mode, &buff)) {
+ if (!numberToCLocale(begin, len, group_sep_mode, &buff)) {
if (ok != 0)
*ok = false;
return 0;
diff --git a/src/corelib/tools/qlocale_p.h b/src/corelib/tools/qlocale_p.h
index 4b5b4d67b5..b544a55c31 100644
--- a/src/corelib/tools/qlocale_p.h
+++ b/src/corelib/tools/qlocale_p.h
@@ -306,14 +306,9 @@ public:
int base = 10,
int width = -1,
unsigned flags = NoFlags) const;
- double stringToDouble(const QString &num, bool *ok, GroupSeparatorMode group_sep_mode) const;
- qint64 stringToLongLong(const QString &num, int base, bool *ok, GroupSeparatorMode group_sep_mode) const;
- quint64 stringToUnsLongLong(const QString &num, int base, bool *ok, GroupSeparatorMode group_sep_mode) const;
-
- double stringToDouble(const QStringRef &num, bool *ok, GroupSeparatorMode group_sep_mode) const;
- qint64 stringToLongLong(const QStringRef &num, int base, bool *ok, GroupSeparatorMode group_sep_mode) const;
- quint64 stringToUnsLongLong(const QStringRef &num, int base, bool *ok, GroupSeparatorMode group_sep_mode) const;
-
+ double stringToDouble(const QChar *begin, int len, bool *ok, GroupSeparatorMode group_sep_mode) const;
+ qint64 stringToLongLong(const QChar *begin, int len, int base, bool *ok, GroupSeparatorMode group_sep_mode) const;
+ quint64 stringToUnsLongLong(const QChar *begin, int len, int base, bool *ok, GroupSeparatorMode group_sep_mode) const;
static double bytearrayToDouble(const char *num, bool *ok, bool *overflow = 0);
static qint64 bytearrayToLongLong(const char *num, int base, bool *ok, bool *overflow = 0);
diff --git a/src/corelib/tools/qstring.cpp b/src/corelib/tools/qstring.cpp
index 9f939dd795..909e50e86e 100644
--- a/src/corelib/tools/qstring.cpp
+++ b/src/corelib/tools/qstring.cpp
@@ -6078,7 +6078,7 @@ qint64 QString::toLongLong(bool *ok, int base) const
#endif
QLocale c_locale(QLocale::C);
- return c_locale.d->stringToLongLong(*this, base, ok, QLocalePrivate::FailOnGroupSeparators);
+ return c_locale.d->stringToLongLong(constData(), size(), base, ok, QLocalePrivate::FailOnGroupSeparators);
}
/*!
@@ -6113,7 +6113,7 @@ quint64 QString::toULongLong(bool *ok, int base) const
#endif
QLocale c_locale(QLocale::C);
- return c_locale.d->stringToUnsLongLong(*this, base, ok, QLocalePrivate::FailOnGroupSeparators);
+ return c_locale.d->stringToUnsLongLong(constData(), size(), base, ok, QLocalePrivate::FailOnGroupSeparators);
}
/*!
@@ -6352,7 +6352,7 @@ ushort QString::toUShort(bool *ok, int base) const
double QString::toDouble(bool *ok) const
{
QLocale c_locale(QLocale::C);
- return c_locale.d->stringToDouble(*this, ok, QLocalePrivate::FailOnGroupSeparators);
+ return c_locale.d->stringToDouble(constData(), size(), ok, QLocalePrivate::FailOnGroupSeparators);
}
/*!
@@ -9622,7 +9622,7 @@ qint64 QStringRef::toLongLong(bool *ok, int base) const
#endif
QLocale c_locale(QLocale::C);
- return c_locale.d->stringToLongLong(*this, base, ok, QLocalePrivate::FailOnGroupSeparators);
+ return c_locale.d->stringToLongLong(constData(), size(), base, ok, QLocalePrivate::FailOnGroupSeparators);
}
/*!
@@ -9655,7 +9655,7 @@ quint64 QStringRef::toULongLong(bool *ok, int base) const
#endif
QLocale c_locale(QLocale::C);
- return c_locale.d->stringToUnsLongLong(*this, base, ok, QLocalePrivate::FailOnGroupSeparators);
+ return c_locale.d->stringToUnsLongLong(constData(), size(), base, ok, QLocalePrivate::FailOnGroupSeparators);
}
/*!
@@ -9873,7 +9873,7 @@ ushort QStringRef::toUShort(bool *ok, int base) const
double QStringRef::toDouble(bool *ok) const
{
QLocale c_locale(QLocale::C);
- return c_locale.d->stringToDouble(*this, ok, QLocalePrivate::FailOnGroupSeparators);
+ return c_locale.d->stringToDouble(constData(), size(), ok, QLocalePrivate::FailOnGroupSeparators);
}
/*!