[iter] Use hb_sink()
authorBehdad Esfahbod <behdad@fb.com>
Thu, 14 Feb 2019 18:40:05 +0000 (10:40 -0800)
committerBehdad Esfahbod <behdad@fb.com>
Thu, 14 Feb 2019 18:40:05 +0000 (10:40 -0800)
src/hb-ot-layout-gsub-table.hh

index dd6f017..4d0fbc6 100644 (file)
@@ -135,18 +135,18 @@ struct SingleSubstFormat2
 
   void closure (hb_closure_context_t *c) const
   {
-    for (auto it = hb_zip (this+coverage, substitute)
-                | hb_filter (*c->glyphs, hb_first)
-                | hb_map (hb_second); it; ++it)
-      c->output->add (*it);
+    + hb_zip (this+coverage, substitute)
+    | hb_filter (*c->glyphs, hb_first)
+    | hb_map (hb_second)
+    | hb_sink (*c->output);
   }
 
   void collect_glyphs (hb_collect_glyphs_context_t *c) const
   {
     if (unlikely (!(this+coverage).add_coverage (c->input))) return;
-    for (auto it = hb_zip (this+coverage, substitute)
-                | hb_map (hb_second); it; ++it)
-      c->output->add (*it);
+    + hb_zip (this+coverage, substitute)
+    | hb_map (hb_second)
+    | hb_sink (*c->output);
   }
 
   const Coverage &get_coverage () const { return this+coverage; }
@@ -1018,10 +1018,10 @@ struct ReverseChainSingleSubstFormat1
         return;
 
     const ArrayOf<GlyphID> &substitute = StructAfter<ArrayOf<GlyphID> > (lookahead);
-    for (auto it = hb_zip (this+coverage, substitute)
-                | hb_filter (*c->glyphs, hb_first)
-                | hb_map (hb_second); it; ++it)
-      c->output->add (*it);
+    + hb_zip (this+coverage, substitute)
+    | hb_filter (*c->glyphs, hb_first)
+    | hb_map (hb_second)
+    | hb_sink (*c->output);
   }
 
   void collect_glyphs (hb_collect_glyphs_context_t *c) const