提交 e6b78003 编写于 作者: B Behdad Esfahbod

[vector] Add move semantics

上级 4c4d3c3e
......@@ -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_; }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册