[vector] Add move semantics
This commit is contained in:
parent
4c4d3c3ed5
commit
e6b78003ef
|
@ -45,6 +45,13 @@ struct hb_vector_t
|
||||||
alloc (o.length);
|
alloc (o.length);
|
||||||
hb_iter (o) | hb_sink (this);
|
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 (); }
|
~hb_vector_t () { fini (); }
|
||||||
|
|
||||||
unsigned int length;
|
unsigned int length;
|
||||||
|
@ -83,6 +90,15 @@ struct hb_vector_t
|
||||||
hb_iter (o) | hb_sink (this);
|
hb_iter (o) | hb_sink (this);
|
||||||
return *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_; }
|
const Type * arrayZ () const { return arrayZ_; }
|
||||||
Type * arrayZ () { return arrayZ_; }
|
Type * arrayZ () { return arrayZ_; }
|
||||||
|
|
Loading…
Reference in New Issue