make QString::fromLatin1 partially inline
authorHarald Fernengel <harald.fernengel@nokia.com>
Tue, 20 Dec 2011 12:42:17 +0000 (13:42 +0100)
committerQt by Nokia <qt-info@nokia.com>
Tue, 20 Dec 2011 15:18:27 +0000 (16:18 +0100)
This allows us to benefit from compile time optimizations when calling
strlen()

Change-Id: If6694117e613a012fce97f8664e6b43005d255de
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
src/corelib/tools/qstring.cpp
src/corelib/tools/qstring.h

index fb818e3..241a77d 100644 (file)
@@ -3818,7 +3818,7 @@ QString::Data *QString::fromAscii_helper(const char *str, int size)
     return fromLatin1_helper(str, size);
 }
 
-/*!
+/*! \fn QString QString::fromLatin1(const char *str, int size)
     Returns a QString initialized with the first \a size characters
     of the Latin-1 string \a str.
 
@@ -3827,10 +3827,6 @@ QString::Data *QString::fromAscii_helper(const char *str, int size)
 
     \sa toLatin1(), fromAscii(), fromUtf8(), fromLocal8Bit()
 */
-QString QString::fromLatin1(const char *str, int size)
-{
-    return QString(fromLatin1_helper(str, size), 0);
-}
 
 
 /*!
index 4e1e67b..cccf275 100644 (file)
@@ -408,7 +408,11 @@ public:
     QVector<uint> toUcs4() const Q_REQUIRED_RESULT;
 
     static QString fromAscii(const char *, int size = -1);
-    static QString fromLatin1(const char *, int size = -1);
+    static inline QString fromLatin1(const char *str, int size = -1)
+    {
+        // make this inline so we can benefit from strlen() compile time optimization
+        return QString(fromLatin1_helper(str, (str && size == -1) ? int(strlen(str)) : size), 0);
+    }
     static QString fromUtf8(const char *, int size = -1);
     static QString fromLocal8Bit(const char *, int size = -1);
     static QString fromUtf16(const ushort *, int size = -1);