diff options
author | Marc Mutz <marc.mutz@kdab.com> | 2015-10-25 20:00:42 +0100 |
---|---|---|
committer | Giuseppe D'Angelo <giuseppe.dangelo@kdab.com> | 2018-01-08 09:41:43 +0000 |
commit | 9c53f4d33a1953bc84e5b5e8bbef14db375bb180 (patch) | |
tree | 9f48e30e24dda4c9913d5f9bfa40e26d5c7cf8a6 /src/corelib/tools/qstringbuilder.h | |
parent | 641e010cc7b52b6c3ac213e151781ffcbdd89145 (diff) |
QStringBuilder: add support for QStringView
[ChangeLog][QtCore][QStringBuilder] Added support for QStringView.
Change-Id: I5b6803397b107ef69d198a935b3ba4339ac95087
Reviewed-by: Anton Kudryavtsev <antkudr@mail.ru>
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Diffstat (limited to 'src/corelib/tools/qstringbuilder.h')
-rw-r--r-- | src/corelib/tools/qstringbuilder.h | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/corelib/tools/qstringbuilder.h b/src/corelib/tools/qstringbuilder.h index e9ca2245ba..1d96d70637 100644 --- a/src/corelib/tools/qstringbuilder.h +++ b/src/corelib/tools/qstringbuilder.h @@ -289,6 +289,20 @@ template <> struct QConcatenable<QStringRef> : private QAbstractConcatenable } }; +template <> struct QConcatenable<QStringView> : private QAbstractConcatenable +{ + typedef QStringView type; + typedef QString ConvertTo; + enum { ExactSize = true }; + static int size(QStringView a) { return a.length(); } + static inline void appendTo(QStringView a, QChar *&out) + { + const auto n = a.size(); + memcpy(out, a.data(), sizeof(QChar) * n); + out += n; + } +}; + template <int N> struct QConcatenable<const char[N]> : private QAbstractConcatenable { typedef const char type[N]; |