summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMÃ¥rten Nordheim <marten.nordheim@qt.io>2017-07-13 08:50:18 +0200
committerThiago Macieira <thiago.macieira@intel.com>2017-07-14 00:24:25 +0000
commit5b24d3dd3559826dfa3cac38be525a052003e2a8 (patch)
tree2f5eb906a7d64a61eea9fac2e9b8c3b97a2a1052
parent627f0a7f7d775ecd263b95dd07fca44bfcb0c5cf (diff)
Add missing constexpr specifier to two iterators
The classes themselves and their equality operators are used in constexpr functions/ctors (in QKeyValueIterator) so Visual Studio 2017 expects them to be marked constexpr as well. Currently this causes a compilation error when instantiating a QKeyValueIterator using either of these iterators. Change-Id: I2e3eeaf3b3f11f381a63875e6575dfd82fe56fcb Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
-rw-r--r--src/corelib/tools/qhash.h6
-rw-r--r--src/corelib/tools/qmap.h6
2 files changed, 6 insertions, 6 deletions
diff --git a/src/corelib/tools/qhash.h b/src/corelib/tools/qhash.h
index b2c3cf574d..035ec57957 100644
--- a/src/corelib/tools/qhash.h
+++ b/src/corelib/tools/qhash.h
@@ -373,7 +373,7 @@ public:
typedef const T *pointer;
typedef const T &reference;
- inline const_iterator() : i(Q_NULLPTR) { }
+ Q_DECL_CONSTEXPR inline const_iterator() : i(Q_NULLPTR) { }
explicit inline const_iterator(void *node)
: i(reinterpret_cast<QHashData::Node *>(node)) { }
#ifdef QT_STRICT_ITERATORS
@@ -387,8 +387,8 @@ public:
inline const T &value() const { return concrete(i)->value; }
inline const T &operator*() const { return concrete(i)->value; }
inline const T *operator->() const { return &concrete(i)->value; }
- inline bool operator==(const const_iterator &o) const { return i == o.i; }
- inline bool operator!=(const const_iterator &o) const { return i != o.i; }
+ Q_DECL_CONSTEXPR inline bool operator==(const const_iterator &o) const { return i == o.i; }
+ Q_DECL_CONSTEXPR inline bool operator!=(const const_iterator &o) const { return i != o.i; }
inline const_iterator &operator++() {
i = QHashData::nextNode(i);
diff --git a/src/corelib/tools/qmap.h b/src/corelib/tools/qmap.h
index a3b11eddcf..37ed24000d 100644
--- a/src/corelib/tools/qmap.h
+++ b/src/corelib/tools/qmap.h
@@ -473,7 +473,7 @@ public:
typedef const T *pointer;
typedef const T &reference;
- inline const_iterator() : i(Q_NULLPTR) { }
+ Q_DECL_CONSTEXPR inline const_iterator() : i(Q_NULLPTR) { }
inline const_iterator(const Node *node) : i(node) { }
#ifdef QT_STRICT_ITERATORS
explicit inline const_iterator(const iterator &o)
@@ -486,8 +486,8 @@ public:
inline const T &value() const { return i->value; }
inline const T &operator*() const { return i->value; }
inline const T *operator->() const { return &i->value; }
- inline bool operator==(const const_iterator &o) const { return i == o.i; }
- inline bool operator!=(const const_iterator &o) const { return i != o.i; }
+ Q_DECL_CONSTEXPR inline bool operator==(const const_iterator &o) const { return i == o.i; }
+ Q_DECL_CONSTEXPR inline bool operator!=(const const_iterator &o) const { return i != o.i; }
inline const_iterator &operator++() {
i = i->nextNode();