summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarc Mutz <marc.mutz@kdab.com>2017-03-30 19:19:45 +0200
committerMarc Mutz <marc.mutz@kdab.com>2017-03-31 07:11:13 +0000
commitdf43ef7b6dde35c13d2d06ad69c2d63f66b237fb (patch)
treea238687b7c37355ebf754dc2b7132e3865790071
parenta2628375057e7e8b39d2cf3a130cc9d7b1f56fb0 (diff)
QStringBuilder: simplify QConcatenable<char[N]>
... by delegating to QConcatenable<const char[N]>. The only thing that varied was the nested type alias 'type', which therefore got retained. Change-Id: I202f899034e1ddd23c6d1978a31be5eb7c195697 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
-rw-r--r--src/corelib/tools/qstringbuilder.h22
1 files changed, 4 insertions, 18 deletions
diff --git a/src/corelib/tools/qstringbuilder.h b/src/corelib/tools/qstringbuilder.h
index b2832b5fbe..9a40abcfed 100644
--- a/src/corelib/tools/qstringbuilder.h
+++ b/src/corelib/tools/qstringbuilder.h
@@ -277,9 +277,9 @@ template <> struct QConcatenable<QStringRef> : private QAbstractConcatenable
}
};
-template <int N> struct QConcatenable<char[N]> : private QAbstractConcatenable
+template <int N> struct QConcatenable<const char[N]> : private QAbstractConcatenable
{
- typedef char type[N];
+ typedef const char type[N];
typedef QByteArray ConvertTo;
enum { ExactSize = false };
static int size(const char[N]) { return N - 1; }
@@ -296,23 +296,9 @@ template <int N> struct QConcatenable<char[N]> : private QAbstractConcatenable
}
};
-template <int N> struct QConcatenable<const char[N]> : private QAbstractConcatenable
+template <int N> struct QConcatenable<char[N]> : QConcatenable<const char[N]>
{
- typedef const char type[N];
- typedef QByteArray ConvertTo;
- enum { ExactSize = false };
- static int size(const char[N]) { return N - 1; }
-#ifndef QT_NO_CAST_FROM_ASCII
- static inline void QT_ASCII_CAST_WARN appendTo(const char a[N], QChar *&out)
- {
- QAbstractConcatenable::convertFromAscii(a, N - 1, out);
- }
-#endif
- static inline void appendTo(const char a[N], char *&out)
- {
- while (*a)
- *out++ = *a++;
- }
+ typedef char type[N];
};
template <> struct QConcatenable<const char *> : private QAbstractConcatenable