diff --git a/src/hb-vector.hh b/src/hb-vector.hh index 879340506..f68943987 100644 --- a/src/hb-vector.hh +++ b/src/hb-vector.hh @@ -45,6 +45,13 @@ struct hb_vector_t alloc (o.length); hb_iter (o) | hb_sink (this); } + hb_vector_t (hb_vector_t &&o) + { + allocated = o.allocated; + length = o.length; + arrayZ_ = o.arrayZ_; + o.init (); + } ~hb_vector_t () { fini (); } unsigned int length; @@ -83,6 +90,15 @@ struct hb_vector_t hb_iter (o) | hb_sink (this); return *this; } + hb_vector_t& operator = (hb_vector_t &&o) + { + fini (); + allocated = o.allocated; + length = o.length; + arrayZ_ = o.arrayZ_; + o.init (); + return *this; + } const Type * arrayZ () const { return arrayZ_; } Type * arrayZ () { return arrayZ_; }