]> git.ipfire.org Git - thirdparty/squid.git/commitdiff
Polish: improve const correctness on Squid vector<> implementation
authorAmos Jeffries <squid3@treenet.co.nz>
Wed, 7 Nov 2012 01:43:16 +0000 (14:43 +1300)
committerAmos Jeffries <squid3@treenet.co.nz>
Wed, 7 Nov 2012 01:43:16 +0000 (14:43 +1300)
This update allows == and != operators to be used with const_iterator
and removes the need for many implicit conversions safely.

include/Array.h

index 8cee5fa144d51bcf0ee0041494d38c2a599fe488..8b083b1cc12bd0f094ab258cd78f148c3ec72c2f 100644 (file)
@@ -52,8 +52,8 @@ public:
     VectorIteratorBase(C &);
     VectorIteratorBase(size_t, C &);
     VectorIteratorBase & operator =(VectorIteratorBase const &);
-    bool operator != (VectorIteratorBase const &rhs);
-    bool operator == (VectorIteratorBase const &rhs);
+    bool operator != (VectorIteratorBase const &rhs) const;
+    bool operator == (VectorIteratorBase const &rhs) const;
     VectorIteratorBase & operator ++();
     VectorIteratorBase operator ++(int);
     typename C::value_type & operator *() const {
@@ -386,14 +386,14 @@ template<class C>
 VectorIteratorBase<C>::VectorIteratorBase(size_t aPos, C &container) : pos(aPos), theVector(&container) {}
 
 template<class C>
-bool VectorIteratorBase<C>:: operator != (VectorIteratorBase<C> const &rhs)
+bool VectorIteratorBase<C>:: operator != (VectorIteratorBase<C> const &rhs) const
 {
     assert (theVector);
     return pos != rhs.pos;
 }
 
 template<class C>
-bool VectorIteratorBase<C>:: operator == (VectorIteratorBase<C> const &rhs)
+bool VectorIteratorBase<C>:: operator == (VectorIteratorBase<C> const &rhs) const
 {
     assert (theVector);
     return pos == rhs.pos;