QRegularExpression: operator<<(QDebug, PatternOptions) improvements
authorGiuseppe D'Angelo <dangelog@gmail.com>
Fri, 23 Mar 2012 05:51:11 +0000 (05:51 +0000)
committerQt by Nokia <qt-info@nokia.com>
Sat, 31 Mar 2012 16:31:29 +0000 (18:31 +0200)
Avoid building a QStringList and then joining the strings with pipes;
directly append the flags to a QByteArray instead.

Change-Id: Ic352b756ed1e3b6b579b9ca412636a2b394d2eb5
Reviewed-by: hjk <qthjk@ovi.com>
src/corelib/tools/qregularexpression.cpp

index eaa20b3..27264f7 100644 (file)
@@ -2153,30 +2153,30 @@ QDebug operator<<(QDebug debug, const QRegularExpression &re)
 */
 QDebug operator<<(QDebug debug, QRegularExpression::PatternOptions patternOptions)
 {
-    QStringList flags;
+    QByteArray flags;
 
     if (patternOptions == QRegularExpression::NoPatternOption) {
-        flags << QLatin1String("NoPatternOption");
+        flags = "NoPatternOption";
     } else {
+        flags.reserve(200); // worst case...
         if (patternOptions & QRegularExpression::CaseInsensitiveOption)
-            flags << QLatin1String("CaseInsensitiveOption");
+            flags.append("CaseInsensitiveOption|");
         if (patternOptions & QRegularExpression::DotMatchesEverythingOption)
-            flags << QLatin1String("DotMatchesEverythingOption");
+            flags.append("DotMatchesEverythingOption|");
         if (patternOptions & QRegularExpression::MultilineOption)
-            flags << QLatin1String("MultilineOption");
+            flags.append("MultilineOption|");
         if (patternOptions & QRegularExpression::ExtendedPatternSyntaxOption)
-            flags << QLatin1String("ExtendedPatternSyntaxOption");
+            flags.append("ExtendedPatternSyntaxOption|");
         if (patternOptions & QRegularExpression::InvertedGreedinessOption)
-            flags << QLatin1String("InvertedGreedinessOption");
+            flags.append("InvertedGreedinessOption|");
         if (patternOptions & QRegularExpression::DontCaptureOption)
-            flags << QLatin1String("DontCaptureOption");
+            flags.append("DontCaptureOption|");
         if (patternOptions & QRegularExpression::UseUnicodePropertiesOption)
-            flags << QLatin1String("UseUnicodePropertiesOption");
+            flags.append("UseUnicodePropertiesOption|");
+        flags.chop(1);
     }
 
-    debug.nospace() << "QRegularExpression::PatternOptions("
-                    << qPrintable(flags.join(QLatin1String("|")))
-                    << ")";
+    debug.nospace() << "QRegularExpression::PatternOptions(" << flags << ")";
 
     return debug.space();
 }