[iter] Add hb_len() function-object
authorBehdad Esfahbod <behdad@behdad.org>
Fri, 29 Mar 2019 04:34:47 +0000 (21:34 -0700)
committerBehdad Esfahbod <behdad@behdad.org>
Fri, 29 Mar 2019 04:34:47 +0000 (21:34 -0700)
src/hb-iter.hh
src/test-iter.cc

index 6672830..5f94fde 100644 (file)
@@ -145,6 +145,14 @@ static const struct
 
 } hb_iter HB_UNUSED;
 
+static const struct
+{
+  template <typename T>
+  unsigned
+  operator () (T&& c) const
+  { return hb_iter (c).len (); }
+} hb_len HB_UNUSED;
+
 
 /* Mixin to fill in what the subclass doesn't provide. */
 template <typename iter_t, typename item_t = typename iter_t::__item_t__>
index 7dfa0a9..a735cae 100644 (file)
@@ -158,6 +158,8 @@ main (int argc, char **argv)
   | hb_drain
   ;
 
+  hb_len (src);
+
   t << 1;
   long vl;
   s >> vl;