Introduce a new QStringBuilder helper class to speed up building strings

from smaller chunks using expression templates.

Simple test and benchmark included, the class is not yet complete.
This commit is contained in:
hjk
2009-04-30 10:01:54 +02:00
parent b72b4142dc
commit feb34c0e6f
6 changed files with 448 additions and 0 deletions
@@ -0,0 +1,11 @@
load(qttest_p4)
SOURCES += tst_qstringbuilder.cpp
QT -= gui
QT = core
DEFINES += QT_NO_CAST_TO_ASCII
@@ -0,0 +1,48 @@
/****************************************************************************
**
** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
** Contact: Qt Software Information (qt-info@nokia.com)
**
****************************************************************************/
#include <QtTest/QtTest>
#include "../../../src/libs/utils/qstringbuilder.h"
//TESTED_CLASS=QStringBuilder
//TESTED_FILES=qstringbuilder.h
class tst_QStringBuilder : public QObject
{
Q_OBJECT
public:
tst_QStringBuilder();
~tst_QStringBuilder() {}
public slots:
void init() {}
void cleanup() {}
private slots:
void operator_percent();
};
tst_QStringBuilder::tst_QStringBuilder()
{
//QTextCodec::setCodecForLocale(QTextCodec::codecForName("ISO 8859-1"));
}
void tst_QStringBuilder::operator_percent()
{
QLatin1Literal l1literal("a literal");
QLatin1String l1string("a literal");
QLatin1Char l1char('c');
QChar qchar(l1char);
QCOMPARE(QString(l1literal % l1literal), QString(l1string + l1string));
}
QTEST_APPLESS_MAIN(tst_QStringBuilder)
#include "tst_qstringbuilder.moc"