QHash: constify some QHashNode members
authorGiuseppe D'Angelo <giuseppe.dangelo@kdab.com>
Sat, 10 Nov 2012 16:32:49 +0000 (16:32 +0000)
committerThe Qt Project <gerrit-noreply@qt-project.org>
Thu, 15 Nov 2012 12:55:00 +0000 (13:55 +0100)
They're read-only member variables (key, hash value of the key)
set only in the ctors, or a "comparison" member function.
All of them can be constified.

Change-Id: Ifd9242577213f38439a4f998b678f5b05413ad21
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: João Abecasis <joao@abecasis.name>
src/corelib/tools/qhash.h

index c4d207e..169b32a 100644 (file)
@@ -203,21 +203,21 @@ template <class Key, class T>
 struct QHashNode
 {
     QHashNode *next;
-    uint h;
-    Key key;
+    const uint h;
+    const Key key;
     T value;
 
     inline QHashNode(const Key &key0, const T &value0, uint hash, QHashNode *n)
         : next(n), h(hash), key(key0), value(value0) {}
-    inline bool same_key(uint h0, const Key &key0) { return h0 == h && key0 == key; }
+    inline bool same_key(uint h0, const Key &key0) const { return h0 == h && key0 == key; }
 };
 
 template <class Key, class T>
 struct QHashDummyNode
 {
     QHashNode<Key, T> *next;
-    uint h;
-    Key key;
+    const uint h;
+    const Key key;
 
     inline QHashDummyNode(const Key &key0, uint hash, QHashNode<Key, T> *n) : next(n), h(hash), key(key0) {}
 };
@@ -253,7 +253,7 @@ struct QHashDummyNode
 \
         inline QHashNode(key_type /* key0 */) {} \
         inline QHashNode(key_type /* key0 */, const T &value0) : value(value0) {} \
-        inline bool same_key(uint h0, key_type) { return h0 == h; } \
+        inline bool same_key(uint h0, key_type) const { return h0 == h; } \
     }
 
 #if defined(Q_BYTE_ORDER) && Q_BYTE_ORDER == Q_LITTLE_ENDIAN