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 /src/corelib/tools/qhash.h | |
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 'src/corelib/tools/qhash.h')
-rw-r--r-- | src/corelib/tools/qhash.h | 20 |
1 files changed, 2 insertions, 18 deletions
diff --git a/src/corelib/tools/qhash.h b/src/corelib/tools/qhash.h index 569dee0cef..9fd96686f5 100644 --- a/src/corelib/tools/qhash.h +++ b/src/corelib/tools/qhash.h @@ -363,13 +363,8 @@ public: inline iterator &operator-=(int j) { return *this = *this - j; } friend inline iterator operator+(int j, iterator k) { return k + j; } -#ifndef QT_STRICT_ITERATORS - public: - inline bool operator==(const const_iterator &o) const - { return i == o.i; } - inline bool operator!=(const const_iterator &o) const - { return i != o.i; } -#endif + inline bool operator==(const const_iterator &o) const { return i == o.i; } + inline bool operator!=(const const_iterator &o) const { return i != o.i; } }; friend class iterator; @@ -390,11 +385,7 @@ public: Q_DECL_CONSTEXPR inline const_iterator() : i(nullptr) { } explicit inline const_iterator(void *node) : i(reinterpret_cast<QHashData::Node *>(node)) { } -#ifdef QT_STRICT_ITERATORS - explicit inline const_iterator(const iterator &o) -#else inline const_iterator(const iterator &o) -#endif { i = o.i; } inline const Key &key() const { return concrete(i)->key; } @@ -428,13 +419,6 @@ public: inline const_iterator &operator+=(int j) { return *this = *this + j; } inline const_iterator &operator-=(int j) { return *this = *this - j; } friend inline const_iterator operator+(int j, const_iterator k) { return k + j; } - - // ### Qt 5: not sure this is necessary anymore -#ifdef QT_STRICT_ITERATORS - private: - inline bool operator==(const iterator &o) const { return operator==(const_iterator(o)); } - inline bool operator!=(const iterator &o) const { return operator!=(const_iterator(o)); } -#endif }; friend class const_iterator; |