diff options
author | Lars Knoll <lars.knoll@qt.io> | 2019-11-03 21:47:23 +0100 |
---|---|---|
committer | Simon Hausmann <simon.hausmann@qt.io> | 2019-11-04 12:52:26 +0000 |
commit | 06456873fceddcd340431fc5999c50ff6d3c2371 (patch) | |
tree | 7a5bf55f8c3494bfb407f7f57b01c4854a236951 /tests | |
parent | ab6affac107cb97e7b6decbe55621259cb8a9b92 (diff) |
Get rid of QT_STRICT_ITERATORS
The concept was a nice idea to avoid accidental detach() calls
in implicitly shared containers, but it conflicts with a C++11
compatible API for them, with signatures for modifying methods
taking a const_iterator as argument and returning an iterator
(e.g. iterator erase(const_iterator)).
Change-Id: Ia33124bedbd260774a0a66f49aedd84e19c9971b
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Diffstat (limited to 'tests')
20 files changed, 10 insertions, 111 deletions
diff --git a/tests/auto/concurrent/qtconcurrentfilter/qtconcurrentfilter.pro b/tests/auto/concurrent/qtconcurrentfilter/qtconcurrentfilter.pro index 15345d40db..b372923310 100644 --- a/tests/auto/concurrent/qtconcurrentfilter/qtconcurrentfilter.pro +++ b/tests/auto/concurrent/qtconcurrentfilter/qtconcurrentfilter.pro @@ -2,5 +2,4 @@ CONFIG += testcase TARGET = tst_qtconcurrentfilter QT = core testlib concurrent SOURCES = tst_qtconcurrentfilter.cpp -DEFINES += QT_STRICT_ITERATORS DEFINES -= QT_NO_LINKED_LIST diff --git a/tests/auto/concurrent/qtconcurrentmap/qtconcurrentmap.pro b/tests/auto/concurrent/qtconcurrentmap/qtconcurrentmap.pro index 717d103e44..170881177d 100644 --- a/tests/auto/concurrent/qtconcurrentmap/qtconcurrentmap.pro +++ b/tests/auto/concurrent/qtconcurrentmap/qtconcurrentmap.pro @@ -2,7 +2,6 @@ CONFIG += testcase TARGET = tst_qtconcurrentmap QT = core testlib concurrent SOURCES = tst_qtconcurrentmap.cpp -DEFINES += QT_STRICT_ITERATORS DEFINES -= QT_NO_LINKED_LIST # Force C++17 if available diff --git a/tests/auto/concurrent/qtconcurrentmedian/qtconcurrentmedian.pro b/tests/auto/concurrent/qtconcurrentmedian/qtconcurrentmedian.pro index 0d07642028..59e22d24a1 100644 --- a/tests/auto/concurrent/qtconcurrentmedian/qtconcurrentmedian.pro +++ b/tests/auto/concurrent/qtconcurrentmedian/qtconcurrentmedian.pro @@ -2,4 +2,3 @@ CONFIG += testcase TARGET = tst_qtconcurrentmedian QT = core testlib concurrent SOURCES = tst_qtconcurrentmedian.cpp -DEFINES += QT_STRICT_ITERATORS diff --git a/tests/auto/corelib/thread/qfuture/qfuture.pro b/tests/auto/corelib/thread/qfuture/qfuture.pro index 1f21130af7..fe097edf20 100644 --- a/tests/auto/corelib/thread/qfuture/qfuture.pro +++ b/tests/auto/corelib/thread/qfuture/qfuture.pro @@ -2,5 +2,4 @@ CONFIG += testcase TARGET = tst_qfuture QT = core core-private testlib SOURCES = tst_qfuture.cpp -DEFINES += QT_STRICT_ITERATORS DEFINES -= QT_NO_JAVA_STYLE_ITERATORS diff --git a/tests/auto/corelib/thread/qresultstore/qresultstore.pro b/tests/auto/corelib/thread/qresultstore/qresultstore.pro index bbebe0976b..80e79b1c1a 100644 --- a/tests/auto/corelib/thread/qresultstore/qresultstore.pro +++ b/tests/auto/corelib/thread/qresultstore/qresultstore.pro @@ -2,4 +2,3 @@ CONFIG += testcase TARGET = tst_qresultstore QT = core-private testlib SOURCES = tst_qresultstore.cpp -DEFINES += QT_STRICT_ITERATORS diff --git a/tests/auto/corelib/tools/collections/collections.pro b/tests/auto/corelib/tools/collections/collections.pro index e0f9f0a0ea..d5e4e226b5 100644 --- a/tests/auto/corelib/tools/collections/collections.pro +++ b/tests/auto/corelib/tools/collections/collections.pro @@ -5,5 +5,4 @@ QT = core testlib # This test does not work with strict iterators DEFINES -= QT_NO_LINKED_LIST -DEFINES -= QT_STRICT_ITERATORS DEFINES -= QT_NO_JAVA_STYLE_ITERATORS diff --git a/tests/auto/corelib/tools/containerapisymmetry/containerapisymmetry.pro b/tests/auto/corelib/tools/containerapisymmetry/containerapisymmetry.pro index e46d51761e..efdb7fc2df 100644 --- a/tests/auto/corelib/tools/containerapisymmetry/containerapisymmetry.pro +++ b/tests/auto/corelib/tools/containerapisymmetry/containerapisymmetry.pro @@ -3,6 +3,4 @@ TARGET = tst_containerapisymmetry SOURCES += tst_containerapisymmetry.cpp QT = core testlib -# This test does not work with strict iterators -DEFINES -= QT_STRICT_ITERATORS DEFINES -= QT_NO_LINKED_LIST diff --git a/tests/auto/corelib/tools/qarraydata_strictiterators/qarraydata_strictiterators.pro b/tests/auto/corelib/tools/qarraydata_strictiterators/qarraydata_strictiterators.pro deleted file mode 100644 index b01fbd84d1..0000000000 --- a/tests/auto/corelib/tools/qarraydata_strictiterators/qarraydata_strictiterators.pro +++ /dev/null @@ -1,3 +0,0 @@ -include(../qarraydata/qarraydata.pro) -TARGET = tst_qarraydata_strictiterators -DEFINES += QT_STRICT_ITERATORS=1 tst_QArrayData=tst_QArrayData_StrictIterators diff --git a/tests/auto/corelib/tools/qhash_strictiterators/qhash_strictiterators.pro b/tests/auto/corelib/tools/qhash_strictiterators/qhash_strictiterators.pro deleted file mode 100644 index 715e9bf0c9..0000000000 --- a/tests/auto/corelib/tools/qhash_strictiterators/qhash_strictiterators.pro +++ /dev/null @@ -1,3 +0,0 @@ -include(../qhash/qhash.pro) -TARGET = tst_qhash_strictiterators -DEFINES += QT_STRICT_ITERATORS tst_QHash=tst_QHash_StrictIterators diff --git a/tests/auto/corelib/tools/qmap/tst_qmap.cpp b/tests/auto/corelib/tools/qmap/tst_qmap.cpp index c644555235..85733639b8 100644 --- a/tests/auto/corelib/tools/qmap/tst_qmap.cpp +++ b/tests/auto/corelib/tools/qmap/tst_qmap.cpp @@ -1351,17 +1351,16 @@ void tst_QMap::testInsertMultiWithHint() { QMap<int, int> map; - typedef QMap<int, int>::const_iterator cite; // Hack since we define QT_STRICT_ITERATORS - map.insertMulti(cite(map.end()), 64, 65); + map.insertMulti(map.end(), 64, 65); map[128] = 129; map[256] = 257; sanityCheckTree(map, __LINE__); - map.insertMulti(cite(map.end()), 512, 513); - map.insertMulti(cite(map.end()), 512, 513 * 2); + map.insertMulti(map.end(), 512, 513); + map.insertMulti(map.end(), 512, 513 * 2); sanityCheckTree(map, __LINE__); QCOMPARE(map.size(), 5); - map.insertMulti(cite(map.end()), 256, 258); // wrong hint + map.insertMulti(map.end(), 256, 258); // wrong hint sanityCheckTree(map, __LINE__); QCOMPARE(map.size(), 6); @@ -1373,23 +1372,23 @@ void tst_QMap::testInsertMultiWithHint() sanityCheckTree(map, __LINE__); QCOMPARE(map.size(), 8); - j = map.insertMulti(cite(j), 68, 259); + j = map.insertMulti(j, 68, 259); sanityCheckTree(map, __LINE__); QCOMPARE(map.size(), 9); - j = map.insertMulti(cite(j), 67, 67); + j = map.insertMulti(j, 67, 67); sanityCheckTree(map, __LINE__); QCOMPARE(map.size(), 10); - i = map.insertMulti(cite(i), 256, 259); + i = map.insertMulti(i, 256, 259); sanityCheckTree(map, __LINE__); QCOMPARE(map.size(), 11); - i = map.insertMulti(cite(i), 256, 260); + i = map.insertMulti(i, 256, 260); sanityCheckTree(map, __LINE__); QCOMPARE(map.size(), 12); - map.insertMulti(cite(i), 64, 67); + map.insertMulti(i, 64, 67); sanityCheckTree(map, __LINE__); QCOMPARE(map.size(), 13); diff --git a/tests/auto/corelib/tools/qmap_strictiterators/qmap_strictiterators.pro b/tests/auto/corelib/tools/qmap_strictiterators/qmap_strictiterators.pro deleted file mode 100644 index 6c1f4727c1..0000000000 --- a/tests/auto/corelib/tools/qmap_strictiterators/qmap_strictiterators.pro +++ /dev/null @@ -1,3 +0,0 @@ -include(../qmap/qmap.pro) -TARGET = tst_qmap_strictiterators -DEFINES += QT_STRICT_ITERATORS tst_QMap=tst_QMap_StrictIterators diff --git a/tests/auto/corelib/tools/qset/tst_qset.cpp b/tests/auto/corelib/tools/qset/tst_qset.cpp index 8a545712a2..6638ad8b60 100644 --- a/tests/auto/corelib/tools/qset/tst_qset.cpp +++ b/tests/auto/corelib/tools/qset/tst_qset.cpp @@ -26,8 +26,6 @@ ** ****************************************************************************/ -//#define QT_STRICT_ITERATORS - #include <QtTest/QtTest> #include <qset.h> #include <qdebug.h> diff --git a/tests/auto/corelib/tools/qvector_strictiterators/qvector_strictiterators.pro b/tests/auto/corelib/tools/qvector_strictiterators/qvector_strictiterators.pro deleted file mode 100644 index d6cad86aac..0000000000 --- a/tests/auto/corelib/tools/qvector_strictiterators/qvector_strictiterators.pro +++ /dev/null @@ -1,3 +0,0 @@ -include(../qvector/qvector.pro) -TARGET = tst_qvector_strictiterators -DEFINES += QT_STRICT_ITERATORS=1 tst_QVector=tst_QVector_StrictIterators diff --git a/tests/auto/corelib/tools/tools.pro b/tests/auto/corelib/tools/tools.pro index 96ec9c8443..5a7c8478f1 100644 --- a/tests/auto/corelib/tools/tools.pro +++ b/tests/auto/corelib/tools/tools.pro @@ -4,7 +4,6 @@ SUBDIRS=\ containerapisymmetry \ qalgorithms \ qarraydata \ - qarraydata_strictiterators \ qbitarray \ qcache \ qcommandlineparser \ @@ -14,13 +13,11 @@ SUBDIRS=\ qexplicitlyshareddatapointer \ qfreelist \ qhash \ - qhash_strictiterators \ qhashfunctions \ qline \ qlinkedlist \ qmakearray \ qmap \ - qmap_strictiterators \ qmargins \ qmessageauthenticationcode \ qoffsetstringarray \ @@ -41,7 +38,6 @@ SUBDIRS=\ qtimeline \ qvarlengtharray \ qvector \ - qvector_strictiterators \ qversionnumber darwin: SUBDIRS += qmacautoreleasepool diff --git a/tests/benchmarks/corelib/tools/qvector/qrawvector.h b/tests/benchmarks/corelib/tools/qvector/qrawvector.h index 73d8620f10..9ad5f771bd 100644 --- a/tests/benchmarks/corelib/tools/qvector/qrawvector.h +++ b/tests/benchmarks/corelib/tools/qvector/qrawvector.h @@ -130,78 +130,9 @@ public: bool contains(const T &t) const; int count(const T &t) const; -#ifdef QT_STRICT_ITERATORS - class iterator { - public: - T *i; - typedef std::random_access_iterator_tag iterator_category; - typedef ptrdiff_t difference_type; - typedef T value_type; - typedef T *pointer; - typedef T &reference; - - inline iterator() : i(0) {} - inline iterator(T *n) : i(n) {} - inline iterator(const iterator &o): i(o.i){} - inline T &operator*() const { return *i; } - inline T *operator->() const { return i; } - inline T &operator[](int j) const { return *(i + j); } - inline bool operator==(const iterator &o) const { return i == o.i; } - inline bool operator!=(const iterator &o) const { return i != o.i; } - inline bool operator<(const iterator& other) const { return i < other.i; } - inline bool operator<=(const iterator& other) const { return i <= other.i; } - inline bool operator>(const iterator& other) const { return i > other.i; } - inline bool operator>=(const iterator& other) const { return i >= other.i; } - inline iterator &operator++() { ++i; return *this; } - inline iterator operator++(int) { T *n = i; ++i; return n; } - inline iterator &operator--() { i--; return *this; } - inline iterator operator--(int) { T *n = i; i--; return n; } - inline iterator &operator+=(int j) { i+=j; return *this; } - inline iterator &operator-=(int j) { i-=j; return *this; } - inline iterator operator+(int j) const { return iterator(i+j); } - inline iterator operator-(int j) const { return iterator(i-j); } - inline int operator-(iterator j) const { return i - j.i; } - }; - friend class iterator; - - class const_iterator { - public: - T *i; - typedef std::random_access_iterator_tag iterator_category; - typedef ptrdiff_t difference_type; - typedef T value_type; - typedef const T *pointer; - typedef const T &reference; - - inline const_iterator() : i(0) {} - inline const_iterator(T *n) : i(n) {} - inline const_iterator(const const_iterator &o): i(o.i) {} - inline explicit const_iterator(const iterator &o): i(o.i) {} - inline const T &operator*() const { return *i; } - inline const T *operator->() const { return i; } - inline const T &operator[](int j) const { return *(i + j); } - inline bool operator==(const const_iterator &o) const { return i == o.i; } - inline bool operator!=(const const_iterator &o) const { return i != o.i; } - inline bool operator<(const const_iterator& other) const { return i < other.i; } - inline bool operator<=(const const_iterator& other) const { return i <= other.i; } - inline bool operator>(const const_iterator& other) const { return i > other.i; } - inline bool operator>=(const const_iterator& other) const { return i >= other.i; } - inline const_iterator &operator++() { ++i; return *this; } - inline const_iterator operator++(int) { T *n = i; ++i; return n; } - inline const_iterator &operator--() { i--; return *this; } - inline const_iterator operator--(int) { T *n = i; i--; return n; } - inline const_iterator &operator+=(int j) { i+=j; return *this; } - inline const_iterator &operator-=(int j) { i+=j; return *this; } - inline const_iterator operator+(int j) const { return const_iterator(i+j); } - inline const_iterator operator-(int j) const { return const_iterator(i-j); } - inline int operator-(const_iterator j) const { return i - j.i; } - }; - friend class const_iterator; -#else // STL-style typedef T *iterator; typedef const T *const_iterator; -#endif inline iterator begin() { return m_begin; } inline const_iterator begin() const { return m_begin; } inline const_iterator constBegin() const { return m_begin; } diff --git a/tests/manual/corelib/tools/qhash/main.cpp b/tests/manual/corelib/tools/qhash/main.cpp index b2c40f2183..298d1777ea 100644 --- a/tests/manual/corelib/tools/qhash/main.cpp +++ b/tests/manual/corelib/tools/qhash/main.cpp @@ -27,7 +27,6 @@ ****************************************************************************/ #include <QDebug> -//#define QT_STRICT_ITERATORS #include <QHash> void testEraseNoError() diff --git a/tests/manual/corelib/tools/qlist/main.cpp b/tests/manual/corelib/tools/qlist/main.cpp index 3f8ade5778..0b54105f5e 100644 --- a/tests/manual/corelib/tools/qlist/main.cpp +++ b/tests/manual/corelib/tools/qlist/main.cpp @@ -26,7 +26,6 @@ ** ****************************************************************************/ #include <QDebug> -//#define QT_STRICT_ITERATORS #include <QVector> void testErase() { @@ -55,4 +54,4 @@ int main() // testErase(); testInsert(); return 0; -}
\ No newline at end of file +} diff --git a/tests/manual/corelib/tools/qset/main.cpp b/tests/manual/corelib/tools/qset/main.cpp index 1066e53e7d..701c8889db 100644 --- a/tests/manual/corelib/tools/qset/main.cpp +++ b/tests/manual/corelib/tools/qset/main.cpp @@ -27,7 +27,6 @@ ****************************************************************************/ #include <QDebug> -//#define QT_STRICT_ITERATORS #include <QSet> void testErase() diff --git a/tests/manual/corelib/tools/qvarlengtharray/main.cpp b/tests/manual/corelib/tools/qvarlengtharray/main.cpp index 8580d97a36..0544bb0c4b 100644 --- a/tests/manual/corelib/tools/qvarlengtharray/main.cpp +++ b/tests/manual/corelib/tools/qvarlengtharray/main.cpp @@ -27,7 +27,6 @@ ****************************************************************************/ #include <QDebug> -//#define QT_STRICT_ITERATORS #include <QVarLengthArray> void testErase() diff --git a/tests/manual/corelib/tools/qvector/main.cpp b/tests/manual/corelib/tools/qvector/main.cpp index e3dc89b149..1b35123f15 100644 --- a/tests/manual/corelib/tools/qvector/main.cpp +++ b/tests/manual/corelib/tools/qvector/main.cpp @@ -27,7 +27,6 @@ ****************************************************************************/ #include <QDebug> -//#define QT_STRICT_ITERATORS #include <QVector> void testErase() |