[iter] Remove passing pointer to hb_iter()
authorBehdad Esfahbod <behdad@behdad.org>
Wed, 3 Apr 2019 01:41:33 +0000 (18:41 -0700)
committerBehdad Esfahbod <behdad@behdad.org>
Wed, 3 Apr 2019 01:42:51 +0000 (18:42 -0700)
While doable with hb_deref_pointer() as well, we also would then
need to do it in a ton of places.  Not worth it / messy.

src/hb-array.hh
src/hb-iter.hh
src/test-iter.cc

index fc8d39d..4e8933f 100644 (file)
@@ -279,7 +279,7 @@ template <typename T>
 uint32_t hb_array_t<T>::hash () const
 {
   return
-  + hb_iter (this)
+  + hb_iter (*this)
   | hb_map (hb_hash)
   | hb_reduce ([] (uint32_t a, uint32_t b) -> uint32_t { return a * 31 + b; }, 0)
   ;
index 9a3c2f4..f23904c 100644 (file)
@@ -137,11 +137,6 @@ static const struct
   operator () (T&& c) const
   { return c.iter (); }
 
-  template <typename T>
-  hb_iter_t (T)
-  operator () (T* c) const
-  { return c->iter (); }
-
   /* Specialization for C arrays. */
 
   template <typename Type> inline hb_array_t<Type>
index dcfdd11..675bbe3 100644 (file)
@@ -106,9 +106,6 @@ main (int argc, char **argv)
   int dst[20];
   hb_vector_t<int> v;
 
-  hb_iter (v);
-  hb_iter (&v);
-
   array_iter_t<const int> s (src); /* Implicit conversion from static array. */
   array_iter_t<const int> s2 (v); /* Implicit conversion from vector. */
   array_iter_t<int> t (dst);