Add -> operator overload for cd* iterators. (#5464)
authorMathias Preiner <mathias.preiner@gmail.com>
Wed, 18 Nov 2020 22:45:52 +0000 (14:45 -0800)
committerGitHub <noreply@github.com>
Wed, 18 Nov 2020 22:45:52 +0000 (16:45 -0600)
src/context/cdhashmap.h
src/context/cdhashset.h
src/context/cdlist.h

index 77c9012ff5b63278f6aa288686418dd40e7fcfef..afcfb00a98e4d4b26f8c8dd70abd91c84897d44e 100644 (file)
@@ -418,6 +418,7 @@ public:
 
     // Dereference operators.
     const value_type& operator*() const { return d_it->getValue(); }
+    const value_type* operator->() const { return &d_it->getValue(); }
 
     // Prefix increment
     iterator& operator++()
index 9bbf6537c4c108e716cbd4e81c30dd1ed723f3d6..c8dcc7888138164e918c59f37c430549d2ddcae9 100644 (file)
@@ -115,6 +115,7 @@ public:
       V operator*() const {
         return d_val;
       }
+      V* operator->() const { return &d_val; }
     };/* class CDSet<>::iterator::Proxy */
 
     // Actual postfix increment: returns Proxy with the old value.
index 89bf2b5e8543340375f1e6c38816b2ab3a22b701..cb5e552acf05554ca00b555f84fcc898fedbe857 100644 (file)
@@ -357,6 +357,8 @@ public:
       return *d_it;
     }
 
+    inline const T* operator->() const { return d_it; }
+
     /** Prefix increment */
     const_iterator& operator++() {
       ++d_it;