diff options
author | Lars Knoll <lars.knoll@qt.io> | 2020-01-20 15:46:49 +0100 |
---|---|---|
committer | Lars Knoll <lars.knoll@qt.io> | 2020-01-30 08:28:51 +0000 |
commit | c0d2deac8b3b30ab163511e83a85dba4f31c22fb (patch) | |
tree | af172e771ff80fc8ace604f3ad7b2a892bb88a5b | |
parent | e41d243789560278b2ced383730df7e1a20e6fc7 (diff) |
Remove deprecated functionality from QSet
Remove support for reverse iteration over a QSet.
Change-Id: I1e9c986a118aea4ebeb7fcdceb41e9ce6593cdb6
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
-rw-r--r-- | src/corelib/tools/qset.h | 56 | ||||
-rw-r--r-- | tests/auto/corelib/tools/qset/tst_qset.cpp | 147 |
2 files changed, 1 insertions, 202 deletions
diff --git a/src/corelib/tools/qset.h b/src/corelib/tools/qset.h index f98bb051ec..ef363ed52d 100644 --- a/src/corelib/tools/qset.h +++ b/src/corelib/tools/qset.h @@ -105,11 +105,7 @@ public: friend class QSet<T>; public: -#if QT_DEPRECATED_SINCE(5, 15) - typedef std::bidirectional_iterator_tag iterator_category; -#else typedef std::forward_iterator_tag iterator_category; -#endif typedef qptrdiff difference_type; typedef T value_type; typedef const T *pointer; @@ -129,15 +125,6 @@ public: { return i != o.i; } inline iterator &operator++() { ++i; return *this; } inline iterator operator++(int) { iterator r = *this; ++i; return r; } -#if QT_DEPRECATED_SINCE(5, 15) - inline QT_DEPRECATED iterator &operator--() { --i; return *this; } - inline QT_DEPRECATED iterator operator--(int) { iterator r = *this; --i; return r; } - inline QT_DEPRECATED iterator operator+(int j) const { return i + j; } - inline QT_DEPRECATED iterator operator-(int j) const { return i - j; } - friend inline QT_DEPRECATED iterator operator+(int j, iterator k) { return k + j; } - inline QT_DEPRECATED iterator &operator+=(int j) { i += j; return *this; } - inline QT_DEPRECATED iterator &operator-=(int j) { i -= j; return *this; } -#endif }; class const_iterator @@ -148,11 +135,7 @@ public: friend class QSet<T>; public: -#if QT_DEPRECATED_SINCE(5, 15) - typedef std::bidirectional_iterator_tag iterator_category; -#else typedef std::forward_iterator_tag iterator_category; -#endif typedef qptrdiff difference_type; typedef T value_type; typedef const T *pointer; @@ -170,15 +153,6 @@ public: inline bool operator!=(const const_iterator &o) const { return i != o.i; } inline const_iterator &operator++() { ++i; return *this; } inline const_iterator operator++(int) { const_iterator r = *this; ++i; return r; } -#if QT_DEPRECATED_SINCE(5, 15) - inline QT_DEPRECATED const_iterator &operator--() { --i; return *this; } - inline QT_DEPRECATED const_iterator operator--(int) { const_iterator r = *this; --i; return r; } - inline QT_DEPRECATED const_iterator operator+(int j) const { return i + j; } - inline QT_DEPRECATED const_iterator operator-(int j) const { return i - j; } - friend inline QT_DEPRECATED const_iterator operator+(int j, const_iterator k) { return k + j; } - inline QT_DEPRECATED const_iterator &operator+=(int j) { i += j; return *this; } - inline QT_DEPRECATED const_iterator &operator-=(int j) { i -= j; return *this; } -#endif }; // STL style @@ -191,23 +165,10 @@ public: inline const_iterator cend() const noexcept { return q_hash.end(); } inline const_iterator constEnd() const noexcept { return q_hash.constEnd(); } -#if QT_DEPRECATED_SINCE(5, 15) - typedef std::reverse_iterator<iterator> reverse_iterator; - typedef std::reverse_iterator<const_iterator> const_reverse_iterator; - - reverse_iterator QT_DEPRECATED rbegin() { return reverse_iterator(end()); } - reverse_iterator QT_DEPRECATED rend() { return reverse_iterator(begin()); } - const_reverse_iterator QT_DEPRECATED rbegin() const noexcept { return const_reverse_iterator(end()); } - const_reverse_iterator QT_DEPRECATED rend() const noexcept { return const_reverse_iterator(begin()); } - const_reverse_iterator QT_DEPRECATED crbegin() const noexcept { return const_reverse_iterator(end()); } - const_reverse_iterator QT_DEPRECATED crend() const noexcept { return const_reverse_iterator(begin()); } -#endif - iterator erase(iterator i) { return erase(m2c(i)); } iterator erase(const_iterator i) { - Q_ASSERT_X(isValidIterator(i), "QSet::erase", "The specified const_iterator argument 'i' is invalid"); return q_hash.erase(reinterpret_cast<typename Hash::const_iterator &>(i)); } @@ -263,15 +224,6 @@ private: static const_iterator m2c(iterator it) noexcept { return const_iterator(typename Hash::const_iterator(it.i.i)); } - - bool isValidIterator(const iterator &i) const - { - return q_hash.isValidIterator(reinterpret_cast<const typename Hash::iterator&>(i)); - } - bool isValidIterator(const const_iterator &i) const noexcept - { - return q_hash.isValidIterator(reinterpret_cast<const typename Hash::const_iterator&>(i)); - } }; #if defined(__cpp_deduction_guides) && __cpp_deduction_guides >= 201606 @@ -415,14 +367,6 @@ public: inline const T &value() const { Q_ASSERT(item_exists()); return *n; } inline bool findNext(const T &t) { while (c->constEnd() != (n = i)) if (*i++ == t) return true; return false; } -#if QT_DEPRECATED_SINCE(5, 15) - inline QT_DEPRECATED bool hasPrevious() const { return c->constBegin() != i; } - inline QT_DEPRECATED const T &previous() { n = --i; return *n; } - inline QT_DEPRECATED const T &peekPrevious() const { iterator p = i; return *--p; } - inline QT_DEPRECATED bool findPrevious(const T &t) - { while (c->constBegin() != i) if (*(n = --i) == t) return true; - n = c->end(); return false; } -#endif }; #endif // QT_NO_JAVA_STYLE_ITERATORS diff --git a/tests/auto/corelib/tools/qset/tst_qset.cpp b/tests/auto/corelib/tools/qset/tst_qset.cpp index 6638ad8b60..0ca8be7fa3 100644 --- a/tests/auto/corelib/tools/qset/tst_qset.cpp +++ b/tests/auto/corelib/tools/qset/tst_qset.cpp @@ -59,7 +59,6 @@ private slots: void begin(); void end(); void insert(); - void reverseIterators(); void setOperations(); void stlIterator(); void stlMutableIterator(); @@ -577,21 +576,6 @@ void tst_QSet::insert() } } -void tst_QSet::reverseIterators() -{ - QSet<int> s; - s << 1 << 17 << 61 << 127 << 911; - std::vector<int> v(s.begin(), s.end()); - std::reverse(v.begin(), v.end()); - const QSet<int> &cs = s; - QVERIFY(std::equal(v.begin(), v.end(), s.rbegin())); - QVERIFY(std::equal(v.begin(), v.end(), s.crbegin())); - QVERIFY(std::equal(v.begin(), v.end(), cs.rbegin())); - QVERIFY(std::equal(s.rbegin(), s.rend(), v.begin())); - QVERIFY(std::equal(s.crbegin(), s.crend(), v.begin())); - QVERIFY(std::equal(cs.rbegin(), cs.rend(), v.begin())); -} - void tst_QSet::setOperations() { QSet<QString> set1, set2; @@ -705,16 +689,6 @@ void tst_QSet::stlIterator() } QVERIFY(sum == 24999 * 25000 / 2); } - - { - int sum = 0; - QSet<QString>::const_iterator i = set1.end(); - while (i != set1.begin()) { - --i; - sum += toNumber(*i); - } - QVERIFY(sum == 24999 * 25000 / 2); - } } void tst_QSet::stlMutableIterator() @@ -734,21 +708,10 @@ void tst_QSet::stlMutableIterator() } { - int sum = 0; - QSet<QString>::iterator i = set1.end(); - while (i != set1.begin()) { - --i; - sum += toNumber(*i); - } - QVERIFY(sum == 24999 * 25000 / 2); - } - - { QSet<QString> set2 = set1; QSet<QString> set3 = set2; QSet<QString>::iterator i = set2.begin(); - QSet<QString>::iterator j = set3.begin(); while (i != set2.end()) { i = set2.erase(i); @@ -756,24 +719,7 @@ void tst_QSet::stlMutableIterator() QVERIFY(set2.isEmpty()); QVERIFY(!set3.isEmpty()); - j = set3.end(); - while (j != set3.begin()) { - j--; - if (j + 1 != set3.end()) - set3.erase(j + 1); - } - if (set3.begin() != set3.end()) - set3.erase(set3.begin()); - - QVERIFY(set2.isEmpty()); - QVERIFY(set3.isEmpty()); - -// #if QT_VERSION >= 0x050000 -// i = set2.insert("foo"); -// #else - QSet<QString>::const_iterator k = set2.insert("foo"); - i = reinterpret_cast<QSet<QString>::iterator &>(k); -// #endif + i = set2.insert("foo"); QCOMPARE(*i, QLatin1String("foo")); } } @@ -802,47 +748,6 @@ void tst_QSet::javaIterator() QVERIFY(sum == 24999 * 25000 / 2); } - { - int sum = 0; - QSetIterator<QString> i(set1); - while (i.hasNext()) { - i.next(); - sum += toNumber(i.peekPrevious()); - } - QVERIFY(sum == 24999 * 25000 / 2); - } - - { - int sum = 0; - QSetIterator<QString> i(set1); - i.toBack(); - while (i.hasPrevious()) - sum += toNumber(i.previous()); - QVERIFY(sum == 24999 * 25000 / 2); - } - - { - int sum = 0; - QSetIterator<QString> i(set1); - i.toBack(); - while (i.hasPrevious()) { - sum += toNumber(i.peekPrevious()); - i.previous(); - } - QVERIFY(sum == 24999 * 25000 / 2); - } - - { - int sum = 0; - QSetIterator<QString> i(set1); - i.toBack(); - while (i.hasPrevious()) { - i.previous(); - sum += toNumber(i.peekNext()); - } - QVERIFY(sum == 24999 * 25000 / 2); - } - int sum1 = 0; int sum2 = 0; QSetIterator<QString> i(set1); @@ -897,52 +802,10 @@ void tst_QSet::javaMutableIterator() } { - int sum = 0; - QMutableSetIterator<QString> i(set1); - while (i.hasNext()) { - i.next(); - sum += toNumber(i.peekPrevious()); - } - QVERIFY(sum == 24999 * 25000 / 2); - } - - { - int sum = 0; - QMutableSetIterator<QString> i(set1); - i.toBack(); - while (i.hasPrevious()) - sum += toNumber(i.previous()); - QVERIFY(sum == 24999 * 25000 / 2); - } - - { - int sum = 0; - QMutableSetIterator<QString> i(set1); - i.toBack(); - while (i.hasPrevious()) { - sum += toNumber(i.peekPrevious()); - i.previous(); - } - QVERIFY(sum == 24999 * 25000 / 2); - } - - { - int sum = 0; - QMutableSetIterator<QString> i(set1); - i.toBack(); - while (i.hasPrevious()) { - i.previous(); - sum += toNumber(i.peekNext()); - } - QVERIFY(sum == 24999 * 25000 / 2); - } - - { QSet<QString> set2 = set1; QSet<QString> set3 = set2; QMutableSetIterator<QString> i(set2); - QMutableSetIterator<QString> j(set3); while (i.hasNext()) { i.next(); @@ -950,14 +813,6 @@ void tst_QSet::javaMutableIterator() } QVERIFY(set2.isEmpty()); QVERIFY(!set3.isEmpty()); - - j.toBack(); - while (j.hasPrevious()) { - j.previous(); - j.remove(); - } - QVERIFY(set2.isEmpty()); - QVERIFY(set3.isEmpty()); } } |