[iter] Add hb_drain
diff --git a/src/hb-iter.hh b/src/hb-iter.hh index 2c885d6..730f682 100644 --- a/src/hb-iter.hh +++ b/src/hb-iter.hh
@@ -430,6 +430,17 @@ { return hb_sink_t<Sink&> (*s); } } hb_sink HB_UNUSED; +static const struct +{ + template <typename Iter, + hb_enable_if (hb_is_iterator (Iter))> + void + operator () (Iter it) const + { + for (; it; ++it) + (void) *it; + } +} hb_drain HB_UNUSED; /* * Algorithms operating on iterators.
diff --git a/src/test-iter.cc b/src/test-iter.cc index a966163..d7e9a00 100644 --- a/src/test-iter.cc +++ b/src/test-iter.cc
@@ -149,7 +149,12 @@ ; + hb_iter (src) - | hb_apply (&st); + | hb_apply (&st) + ; + + + hb_iter (src) + | hb_drain + ; t << 1; long vl;