Signed-off-by: Haomai Wang <haomai@xsky.com>
}
return *this;
}
+ buffer::ptr& buffer::ptr::operator= (ptr&& p)
+ {
+ release();
+ buffer::raw *raw = p._raw;
+ if (raw) {
+ _raw = raw;
+ _off = p._off;
+ _len = p._len;
+ p._raw = nullptr;
+ p._off = p._len = 0;
+ } else {
+ _off = _len = 0;
+ }
+ return *this;
+ }
buffer::raw *buffer::ptr::clone()
{
ptr(ptr&& p);
ptr(const ptr& p, unsigned o, unsigned l);
ptr& operator= (const ptr& p);
+ ptr& operator= (ptr&& p);
~ptr() {
release();
}
return *this;
}
+ list& operator= (list&& other) {
+ _buffers = std::move(other._buffers);
+ _len = other._len;
+ _memcopy_count = other._memcopy_count;
+ last_p = begin();
+ append_buffer.swap(other.append_buffer);
+ other.clear();
+ return *this;
+ }
+
unsigned get_memcopy_count() const {return _memcopy_count; }
const std::list<ptr>& buffers() const { return _buffers; }
void swap(list& other);