diff --git a/src/hb-ot-map-private.hh b/src/hb-ot-map-private.hh index f34c2bfc1..22f274958 100644 --- a/src/hb-ot-map-private.hh +++ b/src/hb-ot-map-private.hh @@ -78,7 +78,6 @@ struct hb_ot_map_t pause_func_t pause_func; }; - hb_ot_map_t (void) { memset (this, 0, sizeof (*this)); } inline hb_mask_t get_global_mask (void) const { return global_mask; } diff --git a/src/hb-ot-shape-private.hh b/src/hb-ot-shape-private.hh index fddb757c5..c217af0c0 100644 --- a/src/hb-ot-shape-private.hh +++ b/src/hb-ot-shape-private.hh @@ -99,9 +99,7 @@ struct hb_ot_shape_planner_t } private: - /* No copy. */ - hb_ot_shape_planner_t (const hb_ot_shape_planner_t &); - hb_ot_shape_planner_t &operator = (const hb_ot_shape_planner_t &); + HB_DISALLOW_COPY_AND_ASSIGN (hb_ot_shape_planner_t); }; diff --git a/src/hb-ot-shape.cc b/src/hb-ot-shape.cc index 5dc578421..f68c0f65e 100644 --- a/src/hb-ot-shape.cc +++ b/src/hb-ot-shape.cc @@ -942,8 +942,6 @@ hb_ot_shape_glyphs_closure (hb_font_t *font, unsigned int num_features, hb_set_t *glyphs) { - hb_ot_shape_plan_t plan; - const char *shapers[] = {"ot", nullptr}; hb_shape_plan_t *shape_plan = hb_shape_plan_create_cached (font->face, &buffer->props, features, num_features, shapers); diff --git a/src/hb-private.hh b/src/hb-private.hh index d2540d3b6..0c291a1de 100644 --- a/src/hb-private.hh +++ b/src/hb-private.hh @@ -536,6 +536,13 @@ _hb_ceil_to_4 (unsigned int v) * */ +#define HB_DISALLOW_ASSIGN(TypeName) \ + void operator=(const TypeName&) = delete + +#define HB_DISALLOW_COPY_AND_ASSIGN(TypeName) \ + TypeName(const TypeName&) = delete; \ + void operator=(const TypeName&) = delete + /* * Static pools */ @@ -800,6 +807,9 @@ struct hb_vector_t arrayZ = nullptr; allocated = len = 0; } + + private: + HB_DISALLOW_ASSIGN (hb_vector_t); }; template diff --git a/src/hb-set-private.hh b/src/hb-set-private.hh index 7a604e12a..07f8a571f 100644 --- a/src/hb-set-private.hh +++ b/src/hb-set-private.hh @@ -675,6 +675,9 @@ struct hb_set_t inline const page_t &page_at (unsigned int i) const { return pages[page_map[i].index]; } inline unsigned int get_major (hb_codepoint_t g) const { return g / page_t::PAGE_BITS; } inline hb_codepoint_t major_start (unsigned int major) const { return major * page_t::PAGE_BITS; } + + private: + HB_DISALLOW_COPY_AND_ASSIGN (hb_set_t); };