summaryrefslogtreecommitdiffstats
path: root/src/corelib
diff options
context:
space:
mode:
authorAnton Kudryavtsev <a.kudryavtsev@netris.ru>2016-03-30 18:25:32 +0300
committerAnton Kudryavtsev <a.kudryavtsev@netris.ru>2016-03-31 13:30:54 +0000
commit80d1e732d813c6101d1e7462b5685bd895807084 (patch)
tree9c9ba87d19379d11fae76ea022574eec815bc38b /src/corelib
parent342290888f40a6f3317c0eaef07c20a71ac0eeb1 (diff)
QLocalePrivate: overload codeToCountry() for QStringRef and QChar array
Now we can use QStringRef arg or QChar array arg to avoid unnecessary allocations. Also mark these functions as Q_DECL_NOTHROW. Change-Id: I22b08a054051e80e3f76bb543d860f3dcb6caa4f Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Diffstat (limited to 'src/corelib')
-rw-r--r--src/corelib/tools/qlocale.cpp3
-rw-r--r--src/corelib/tools/qlocale_p.h4
2 files changed, 4 insertions, 3 deletions
diff --git a/src/corelib/tools/qlocale.cpp b/src/corelib/tools/qlocale.cpp
index ca70d89a83..8d64e02814 100644
--- a/src/corelib/tools/qlocale.cpp
+++ b/src/corelib/tools/qlocale.cpp
@@ -154,9 +154,8 @@ QLocale::Script QLocalePrivate::codeToScript(const QString &code)
return QLocale::AnyScript;
}
-QLocale::Country QLocalePrivate::codeToCountry(const QString &code)
+QLocale::Country QLocalePrivate::codeToCountry(const QChar *code, int len) Q_DECL_NOTHROW
{
- int len = code.length();
if (len != 2 && len != 3)
return QLocale::AnyCountry;
ushort uc1 = code[0].toUpper().unicode();
diff --git a/src/corelib/tools/qlocale_p.h b/src/corelib/tools/qlocale_p.h
index a2cfecb933..edffcea3e5 100644
--- a/src/corelib/tools/qlocale_p.h
+++ b/src/corelib/tools/qlocale_p.h
@@ -355,7 +355,9 @@ public:
static QString countryToCode(QLocale::Country country);
static QLocale::Language codeToLanguage(const QString &code);
static QLocale::Script codeToScript(const QString &code);
- static QLocale::Country codeToCountry(const QString &code);
+ static QLocale::Country codeToCountry(const QChar *code, int len) Q_DECL_NOTHROW;
+ static QLocale::Country codeToCountry(const QString &code) Q_DECL_NOTHROW { return codeToCountry(code.data(), code.size()); }
+ static QLocale::Country codeToCountry(const QStringRef &code) Q_DECL_NOTHROW { return codeToCountry(code.data(), code.size()); }
static void getLangAndCountry(const QString &name, QLocale::Language &lang,
QLocale::Script &script, QLocale::Country &cntry);