Remove references to QT_NO_STL from QtCore
authorThiago Macieira <thiago.macieira@intel.com>
Mon, 26 Mar 2012 18:28:40 +0000 (15:28 -0300)
committerQt by Nokia <qt-info@nokia.com>
Sat, 7 Apr 2012 03:19:42 +0000 (05:19 +0200)
QT_NO_STL is now no longer defined, so remove the conditionals and
select the STL side.

Change-Id: Ieedd248ae16e5a128b4ac287f850b3ebc8fb6181
Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
15 files changed:
src/corelib/global/qglobal.h
src/corelib/global/qtypeinfo.h
src/corelib/tools/qlinkedlist.h
src/corelib/tools/qlist.h
src/corelib/tools/qmap.h
src/corelib/tools/qscopedpointer.h
src/corelib/tools/qshareddata.h
src/corelib/tools/qsharedpointer_impl.h
src/corelib/tools/qstring.cpp
src/corelib/tools/qstring.h
src/corelib/tools/qvector.h
tests/auto/corelib/tools/qstring/tst_qstring.cpp
tests/auto/other/collections/tst_collections.cpp
tests/benchmarks/corelib/tools/qstringlist/main.cpp
tests/benchmarks/corelib/tools/qvector/qrawvector.h

index 22f65a6..ec7de3b 100644 (file)
@@ -69,9 +69,7 @@
 
 #ifdef __cplusplus
 
-#ifndef QT_NO_STL
 #include <algorithm>
-#endif
 
 #ifndef QT_NAMESPACE /* user namespace */
 
@@ -1183,14 +1181,8 @@ static inline bool qIsNull(float f)
 template <typename T>
 inline void qSwap(T &value1, T &value2)
 {
-#ifdef QT_NO_STL
-    const T t = value1;
-    value1 = value2;
-    value2 = t;
-#else
     using std::swap;
     swap(value1, value2);
-#endif
 }
 
 #if QT_DEPRECATED_SINCE(5, 0)
index 1c08bbe..48ee99e 100644 (file)
@@ -172,9 +172,6 @@ Q_DECLARE_TYPEINFO_BODY(QFlags<T>, Q_PRIMITIVE_TYPE);
    types must declare a 'bool isDetached(void) const;' member for this
    to work.
 */
-#ifdef QT_NO_STL
-#define Q_DECLARE_SHARED_STL(TYPE)
-#else
 #define Q_DECLARE_SHARED_STL(TYPE) \
 QT_END_NAMESPACE \
 namespace std { \
@@ -182,7 +179,6 @@ namespace std { \
     { swap(value1.data_ptr(), value2.data_ptr()); } \
 } \
 QT_BEGIN_NAMESPACE
-#endif
 
 #define Q_DECLARE_SHARED(TYPE)                                          \
 template <> inline void qSwap<TYPE>(TYPE &value1, TYPE &value2) \
index 27d0ffe..a8a97b3 100644 (file)
 #include <QtCore/qiterator.h>
 #include <QtCore/qrefcount.h>
 
-#ifndef QT_NO_STL
 #include <iterator>
 #include <list>
-#endif
 
 QT_BEGIN_HEADER
 
@@ -221,12 +219,10 @@ public:
     typedef const value_type &const_reference;
     typedef qptrdiff difference_type;
 
-#ifndef QT_NO_STL
     static inline QLinkedList<T> fromStdList(const std::list<T> &list)
     { QLinkedList<T> tmp; qCopy(list.begin(), list.end(), std::back_inserter(tmp)); return tmp; }
     inline std::list<T> toStdList() const
     { std::list<T> tmp; qCopy(constBegin(), constEnd(), std::back_inserter(tmp)); return tmp; }
-#endif
 
     // comfort
     QLinkedList<T> &operator+=(const QLinkedList<T> &l);
index 9d70e55..0d5b109 100644 (file)
 #include <QtCore/qiterator.h>
 #include <QtCore/qrefcount.h>
 
-#ifndef QT_NO_STL
 #include <iterator>
 #include <list>
-#endif
 #ifdef Q_COMPILER_INITIALIZER_LISTS
-#include <iterator>
 #include <initializer_list>
 #endif
 
@@ -333,12 +330,10 @@ public:
     static QList<T> fromVector(const QVector<T> &vector);
     static QList<T> fromSet(const QSet<T> &set);
 
-#ifndef QT_NO_STL
     static inline QList<T> fromStdList(const std::list<T> &list)
     { QList<T> tmp; qCopy(list.begin(), list.end(), std::back_inserter(tmp)); return tmp; }
     inline std::list<T> toStdList() const
     { std::list<T> tmp; qCopy(constBegin(), constEnd(), std::back_inserter(tmp)); return tmp; }
-#endif
 
 private:
     Node *detach_helper_grow(int i, int n);
index 3f46a8a..3494bd0 100644 (file)
 #include <QtCore/qdebug.h>
 #endif
 
-#ifndef QT_NO_STL
 #include <map>
-#endif
-
 #include <new>
 
 QT_BEGIN_HEADER
@@ -349,10 +346,8 @@ public:
     { qSwap(d, other.d); return *this; }
 #endif
     inline void swap(QMap<Key, T> &other) { qSwap(d, other.d); }
-#ifndef QT_NO_STL
     explicit QMap(const typename std::map<Key, T> &other);
     std::map<Key, T> toStdMap() const;
-#endif
 
     bool operator==(const QMap<Key, T> &other) const;
     inline bool operator!=(const QMap<Key, T> &other) const { return !(*this == other); }
@@ -939,7 +934,6 @@ Q_OUTOFLINE_TEMPLATE bool QMap<Key, T>::operator==(const QMap<Key, T> &other) co
     return true;
 }
 
-#ifndef QT_NO_STL
 template <class Key, class T>
 Q_OUTOFLINE_TEMPLATE QMap<Key, T>::QMap(const std::map<Key, T> &other)
 {
@@ -963,8 +957,6 @@ Q_OUTOFLINE_TEMPLATE std::map<Key, T> QMap<Key, T>::toStdMap() const
     return map;
 }
 
-#endif // QT_NO_STL
-
 template <class Key, class T>
 class QMultiMap : public QMap<Key, T>
 {
index c01a623..316991e 100644 (file)
@@ -185,7 +185,6 @@ template <class T, class Cleanup>
 Q_INLINE_TEMPLATE void qSwap(QScopedPointer<T, Cleanup> &p1, QScopedPointer<T, Cleanup> &p2)
 { p1.swap(p2); }
 
-#ifndef QT_NO_STL
 QT_END_NAMESPACE
 namespace std {
     template <class T, class Cleanup>
@@ -193,7 +192,6 @@ namespace std {
     { p1.swap(p2); }
 }
 QT_BEGIN_NAMESPACE
-#endif
 
 
 
index 1003baa..b38a7d6 100644 (file)
@@ -264,7 +264,6 @@ template <class T>
 Q_INLINE_TEMPLATE void qSwap(QExplicitlySharedDataPointer<T> &p1, QExplicitlySharedDataPointer<T> &p2)
 { p1.swap(p2); }
 
-#ifndef QT_NO_STL
 QT_END_NAMESPACE
 namespace std {
     template <class T>
@@ -276,7 +275,6 @@ namespace std {
     { p1.swap(p2); }
 }
 QT_BEGIN_NAMESPACE
-#endif
 
 template<typename T> Q_DECLARE_TYPEINFO_BODY(QSharedDataPointer<T>, Q_MOVABLE_TYPE);
 template<typename T> Q_DECLARE_TYPEINFO_BODY(QExplicitlySharedDataPointer<T>, Q_MOVABLE_TYPE);
index fadb4e0..c656e54 100644 (file)
@@ -791,7 +791,6 @@ inline void qSwap(QSharedPointer<T> &p1, QSharedPointer<T> &p2)
     p1.swap(p2);
 }
 
-#ifndef QT_NO_STL
 QT_END_NAMESPACE
 namespace std {
     template <class T>
@@ -799,7 +798,6 @@ namespace std {
     { p1.swap(p2); }
 }
 QT_BEGIN_NAMESPACE
-#endif
 
 namespace QtSharedPointer {
 // helper functions:
index f551e32..c4eef38 100644 (file)
@@ -944,9 +944,6 @@ const QStaticStringData<1> QString::shared_empty = { Q_STATIC_STRING_DATA_HEADER
     windows) and ucs4 if the size of wchar_t is 4 bytes (most Unix
     systems).
 
-    This method is only available if Qt is configured with STL
-    compatibility enabled and if QT_NO_STL is not defined.
-
     \sa fromUtf16(), fromLatin1(), fromLocal8Bit(), fromUtf8(), fromUcs4()
 */
 
@@ -972,9 +969,6 @@ const QStaticStringData<1> QString::shared_empty = { Q_STATIC_STRING_DATA_HEADER
     This operator is mostly useful to pass a QString to a function
     that accepts a std::wstring object.
 
-    This operator is only available if Qt is configured with STL
-    compatibility enabled and if QT_NO_STL is not defined.
-
     \sa utf16(), toAscii(), toLatin1(), toUtf8(), toLocal8Bit()
 */
 
@@ -7399,9 +7393,6 @@ bool QString::isRightToLeft() const
     If the QString contains non-Latin1 Unicode characters, using this
     can lead to loss of information.
 
-    This operator is only available if Qt is configured with STL
-    compatibility enabled and if QT_NO_STL is not defined.
-
     \sa toAscii(), toLatin1(), toUtf8(), toLocal8Bit()
 */
 
index c7629fd..d09e3b5 100644 (file)
@@ -47,9 +47,7 @@
 #include <QtCore/qrefcount.h>
 #include <QtCore/qnamespace.h>
 
-#ifndef QT_NO_STL
-#  include <string>
-#endif // QT_NO_STL
+#include <string>
 
 #include <stdarg.h>
 
@@ -614,12 +612,10 @@ public:
     inline void push_front(QChar c) { prepend(c); }
     inline void push_front(const QString &s) { prepend(s); }
 
-#ifndef QT_NO_STL
     static inline QString fromStdString(const std::string &s);
     inline std::string toStdString() const;
     static inline QString fromStdWString(const std::wstring &s);
     inline std::wstring toStdWString() const;
-#endif
 
     // compatibility
     struct Null { };
@@ -1092,7 +1088,6 @@ inline QT_ASCII_CAST_WARN const QString operator+(const QString &s, const QByteA
 #  endif // QT_NO_CAST_FROM_ASCII
 #endif // QT_USE_QSTRINGBUILDER
 
-#ifndef QT_NO_STL
 inline std::string QString::toStdString() const
 { const QByteArray asc = toAscii(); return std::string(asc.constData(), asc.length()); }
 
@@ -1113,9 +1108,9 @@ inline std::wstring QString::toStdWString() const
     str.resize(toWCharArray(&(*str.begin())));
     return str;
 }
+
 inline QString QString::fromStdWString(const std::wstring &s)
 { return fromWCharArray(s.data(), int(s.size())); }
-#endif
 
 #if !defined(QT_NO_DATASTREAM) || (defined(QT_BOOTSTRAPPED) && !defined(QT_BUILD_QMAKE))
 Q_CORE_EXPORT QDataStream &operator<<(QDataStream &, const QString &);
index 04ab9e6..3c0db06 100644 (file)
 #include <QtCore/qlist.h>
 #include <QtCore/qrefcount.h>
 
-#ifndef QT_NO_STL
 #include <iterator>
 #include <vector>
-#endif
 #include <stdlib.h>
 #include <string.h>
 #ifdef Q_COMPILER_INITIALIZER_LISTS
@@ -308,12 +306,10 @@ public:
 
     static QVector<T> fromList(const QList<T> &list);
 
-#ifndef QT_NO_STL
     static inline QVector<T> fromStdVector(const std::vector<T> &vector)
     { QVector<T> tmp; tmp.reserve(int(vector.size())); qCopy(vector.begin(), vector.end(), std::back_inserter(tmp)); return tmp; }
     inline std::vector<T> toStdVector() const
     { std::vector<T> tmp; tmp.reserve(size()); qCopy(constBegin(), constEnd(), std::back_inserter(tmp)); return tmp; }
-#endif
 private:
     friend class QRegion; // Optimization for QRegion::rects()
 
index dda4c52..7afd435 100644 (file)
@@ -876,7 +876,6 @@ void tst_QString::constructorQByteArray()
 
 void tst_QString::STL()
 {
-#ifndef QT_NO_STL
 #ifndef QT_NO_CAST_TO_ASCII
     QString qt( "QString" );
 
@@ -920,9 +919,6 @@ void tst_QString::STL()
 
     QCOMPARE(s, QString::fromLatin1("hello"));
     QCOMPARE(stlStr, s.toStdWString());
-#else
-    QSKIP( "Not tested without STL support");
-#endif
 }
 
 void tst_QString::truncate()
@@ -3360,7 +3356,6 @@ void tst_QString::fromStdString()
 #ifdef Q_CC_HPACC
     QSKIP("This test crashes on HP-UX with aCC");
 #endif
-#if !defined(QT_NO_STL)
     std::string stroustrup = "foo";
     QString eng = QString::fromStdString( stroustrup );
     QCOMPARE( eng, QString("foo") );
@@ -3368,7 +3363,6 @@ void tst_QString::fromStdString()
     std::string stdnull( cnull, sizeof(cnull)-1 );
     QString qtnull = QString::fromStdString( stdnull );
     QCOMPARE( qtnull.size(), int(stdnull.size()) );
-#endif
 }
 
 void tst_QString::toStdString()
@@ -3376,7 +3370,6 @@ void tst_QString::toStdString()
 #ifdef Q_CC_HPACC
     QSKIP("This test crashes on HP-UX with aCC");
 #endif
-#if !defined(QT_NO_STL)
     QString nord = "foo";
     std::string stroustrup1 = nord.toStdString();
     QVERIFY( qstrcmp(stroustrup1.c_str(), "foo") == 0 );
@@ -3390,7 +3383,6 @@ void tst_QString::toStdString()
     QString qtnull( qcnull, sizeof(qcnull)/sizeof(QChar) );
     std::string stdnull = qtnull.toStdString();
     QCOMPARE( int(stdnull.size()), qtnull.size() );
-#endif
 }
 
 void tst_QString::utf8()
index a9cef63..2d5d6a6 100644 (file)
@@ -78,9 +78,7 @@ void foo()
 
 #include <QtTest/QtTest>
 
-#ifndef QT_NO_STL
-#  include <algorithm>
-#endif
+#include <algorithm>
 
 #include "qalgorithms.h"
 #include "qbitarray.h"
@@ -136,14 +134,12 @@ private slots:
     void conversions();
     void javaStyleIterators();
     void constAndNonConstStlIterators();
-#ifndef QT_NO_STL
     void vector_stl_data();
     void vector_stl();
     void list_stl_data();
     void list_stl();
     void linkedlist_stl_data();
     void linkedlist_stl();
-#endif
     void q_init();
     void pointersize();
     void containerInstantiation();
@@ -228,7 +224,7 @@ void tst_Collections::list()
        QVERIFY(list.size() == 6);
        QVERIFY(list.end() - list.begin() == list.size());
 
-#if !defined(QT_NO_STL) && !defined(Q_CC_MSVC) && !defined(Q_CC_SUN)
+#if !defined(Q_CC_MSVC) && !defined(Q_CC_SUN)
        QVERIFY(std::binary_search(list.begin(), list.end(), 2) == true);
        QVERIFY(std::binary_search(list.begin(), list.end(), 9) == false);
 #endif
@@ -1038,10 +1034,8 @@ void tst_Collections::vector()
     v.prepend(1);
 
     v << 3 << 4 << 5 << 6;
-#if !defined(QT_NO_STL)
     QVERIFY(std::binary_search(v.begin(), v.end(), 2) == true);
     QVERIFY(std::binary_search(v.begin(), v.end(), 9) == false);
-#endif
     QVERIFY(qBinaryFind(v.begin(), v.end(), 2) == v.begin() + 1);
     QVERIFY(qLowerBound(v.begin(), v.end(), 2) == v.begin() + 1);
     QVERIFY(qUpperBound(v.begin(), v.end(), 2) == v.begin() + 2);
@@ -2870,7 +2864,6 @@ void tst_Collections::constAndNonConstStlIterators()
     testMapLikeStlIterators<QMultiHash<QString, QString> >();
 }
 
-#ifndef QT_NO_STL
 void tst_Collections::vector_stl_data()
 {
     QTest::addColumn<QStringList>("elements");
@@ -2953,7 +2946,6 @@ void tst_Collections::list_stl()
 
     QCOMPARE(QList<QString>::fromStdList(stdList), list);
 }
-#endif
 
 template <typename T>
 T qtInit(T * = 0)
@@ -3014,7 +3006,6 @@ void instantiateContainer()
     ContainerType container;
     const ContainerType constContainer(container);
 
-#ifndef QT_NO_STL
     typename ContainerType::const_iterator constIt;
     constIt = constContainer.begin();
     constIt = container.cbegin();
@@ -3024,7 +3015,7 @@ void instantiateContainer()
     constIt = constContainer.cend();
     container.constEnd();
     Q_UNUSED(constIt)
-#endif
+
     container.clear();
     container.contains(value);
     container.count();
@@ -3043,12 +3034,10 @@ void instantiateMutableIterationContainer()
     instantiateContainer<ContainerType, ValueType>();
     ContainerType container;
 
-#ifndef QT_NO_STL
     typename ContainerType::iterator it;
     it = container.begin();
     it = container.end();
     Q_UNUSED(it)
-#endif
 
     // QSet lacks count(T).
     const ValueType value = ValueType();
@@ -3622,10 +3611,8 @@ struct IntOrString
     IntOrString(const QString &v) : val(v.toInt()) { }
     operator int() { return val; }
     operator QString() { return QString::number(val); }
-#ifndef QT_NO_STL
     operator std::string() { return QString::number(val).toStdString(); }
     IntOrString(const std::string &v) : val(QString::fromStdString(v).toInt()) { }
-#endif
 };
 
 template<class Container> void insert_remove_loop_impl()
@@ -3742,14 +3729,12 @@ void tst_Collections::insert_remove_loop()
     insert_remove_loop_impl<QVarLengthArray<int, 15> >();
     insert_remove_loop_impl<QVarLengthArray<QString, 15> >();
 
-#ifndef QT_NO_STL
     insert_remove_loop_impl<ExtList<std::string> >();
     insert_remove_loop_impl<QVector<std::string> >();
     insert_remove_loop_impl<QVarLengthArray<std::string> >();
     insert_remove_loop_impl<QVarLengthArray<std::string, 10> >();
     insert_remove_loop_impl<QVarLengthArray<std::string, 3> >();
     insert_remove_loop_impl<QVarLengthArray<std::string, 15> >();
-#endif
 }
 
 
index 48bf7f1..b4c1be2 100644 (file)
@@ -163,7 +163,6 @@ void tst_QStringList::split_qlist_qstring() const
 
 void tst_QStringList::split_stdvector_stdstring() const
 {
-#ifndef QT_NO_STL
     QFETCH(QString, input);
     const char split_char = ':';
     std::string stdinput = input.toStdString();
@@ -176,12 +175,10 @@ void tst_QStringList::split_stdvector_stdstring() const
              token.push_back(each))
             ;
     }
-#endif
 }
 
 void tst_QStringList::split_stdvector_stdwstring() const
 {
-#ifndef QT_NO_STL
     QFETCH(QString, input);
     const wchar_t split_char = ':';
     std::wstring stdinput = input.toStdWString();
@@ -194,7 +191,6 @@ void tst_QStringList::split_stdvector_stdwstring() const
              token.push_back(each))
             ;
     }
-#endif
 }
 
 void tst_QStringList::split_stdlist_stdstring() const
index 0fdfa86..8c2d014 100644 (file)
 #include <QtCore/qalgorithms.h>
 #include <QtCore/qlist.h>
 
-#ifndef QT_NO_STL
 #include <iterator>
 #include <vector>
-#endif
 #include <stddef.h>
 #include <stdlib.h>
 #include <string.h>
@@ -253,12 +251,10 @@ public:
 
     //static QRawVector<T> fromList(const QList<T> &list);
 
-#ifndef QT_NO_STL
     static inline QRawVector<T> fromStdVector(const std::vector<T> &vector)
     { QRawVector<T> tmp; qCopy(vector.begin(), vector.end(), std::back_inserter(tmp)); return tmp; }
     inline std::vector<T> toStdVector() const
     { std::vector<T> tmp; qCopy(constBegin(), constEnd(), std::back_inserter(tmp)); return tmp; }
-#endif
 
 private:
     T *allocate(int alloc);