diff options
author | Anton Kudryavtsev <a.kudryavtsev@netris.ru> | 2016-03-30 18:25:32 +0300 |
---|---|---|
committer | Anton Kudryavtsev <a.kudryavtsev@netris.ru> | 2016-03-31 13:30:54 +0000 |
commit | 80d1e732d813c6101d1e7462b5685bd895807084 (patch) | |
tree | 9c9ba87d19379d11fae76ea022574eec815bc38b | |
parent | 342290888f40a6f3317c0eaef07c20a71ac0eeb1 (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>
-rw-r--r-- | src/corelib/tools/qlocale.cpp | 3 | ||||
-rw-r--r-- | src/corelib/tools/qlocale_p.h | 4 |
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); |